Cosa c'è che non va in questo codice di loop [chiuso
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.
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