Petite question de débutant While &&

Signaler
Messages postés
2
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
17 novembre 2004
-
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
-
j'ai un soucis dans le While le ??
n'est pas pris en compte.
while ((inValeur1Temp!=0 && inValeur2Temp!=0));
je veux qu'il tourne DO jusqu'à ce inValeur1Temp ET inValeur2Temp =0 (et pas OU.)

int calcule (int inValeur1,int inValeur2)

{

int inValeurPgcd=0;

int inValeurTemp=0;

int inValeur1Temp=1;

int inValeur2Temp=1;

inValeurTemp=inValeur1;

do

{

inValeur1Temp=inValeur2%inValeurTemp;

inValeurTemp=inValeurTemp-1;

inValeur2Temp=inValeur1%inValeurTemp;

}

while ((inValeur1Temp!=0 && inValeur2Temp!=0));

inValeurPgcd=inValeurTemp+1;

return inValeurPgcd;

3 réponses

Messages postés
1
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
17 novembre 2004

En fait faur raisonner en logique booleenne. Ainsi le non et correspond a un non ou...
Enfin bref tu veux que ca s'arrete quand les 2 sont a 0 or la tu demande en gros un ou justement, je sais pas si tu a vu ca :
(a et b)bar = (a)bar ou (b)bar donc ce que tu veux c'est non a ou non b et ainsi tu a le non(a et b)

C'est de l'algebre de bool ...

Have fun !
Messages postés
2
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
17 novembre 2004

Merci bien ça confirme mon "intuition".
je vais prendre une autre piste
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
while (inValeur1Temp!=0 || inValeur2Temp!=0);

la boucle continuera donc tant qu'une des valeurs sera non nulle (et s'arrêtera quand les 2 seront à 0)