Domanda

Ecco il problema:

Costanti: 'A', 'B', 'C', 'D';

Ho molte variabili, ma solo queste sono interconnesse: "x", "y", "z";

Per la prima iterazione 1 hanno:

x1 = [value from other variables];
y1 = x1 + a;
z1 = y1 + x1 + b;
condition |c - z1| < d;

Se è vero, il programma calcola gli altri elementi (da questo punto conosco il lavoro), ma se la condizione è falsa abbiamo qualcosa del genere:

x2 = x1 + e;
y2 = x2 + a;
z2 = y2 + x2 + b;
condition |c - z2| < d; 

Ancora una volta, se falso:

x3 = x2 + e;
y3 = x3 + a;
z3 = y3 + x3 + b;
condition |c - z3| < d; 

e così via fino a quando la condizione non viene soddisfatta.

Ciò che sto cercando di risolvere è un ciclo per estrarre dall'ultima iterazione (i) i valori di "xi" e "yi" da usare nello sviluppo successivo. Non posso estrarli a meno che la condizione non sia soddisfatta.

Grazie.

È stato utile?

Soluzione

Puoi usare un while ciclo continuo:

var x = // value from other variables
var y = x + a;
var z = y + x + b;

while (Math.Abs(c - z) < d)
{
    x = x + e;
    y = x + a;
    z = y + x + b;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top