Question

Voici le problème:

Constantes: 'a', 'B', 'C', 'D';

J'ai beaucoup de variables, mais celles-ci sont interconnectés: 'x', 'y', 'z';

Pour la première itération 1 ont:

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

S'il est vrai, le programme calcule les autres éléments (de ce point, je sais que le travail), mais si la condition est fausse, nous avons quelque chose comme ceci:

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

Encore une fois, si elle est fausse:

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

et ainsi de suite jusqu'à ce que la condition soit remplie.

Qu'est-ce que I'am essayer de résoudre est une boucle d'extraire de la dernière itération (i) les valeurs de « xi » et « yi » à utiliser dans le développement ultérieur. Je ne peux pas les extraire à moins que la condition est remplie.

Merci.

Était-ce utile?

La solution

Vous pouvez utiliser une boucle while :

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;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top