A voir également:
- Arithmetique en c et cpp
- Dev cpp - Télécharger - Langages
- Moyenne arithmétique excel - Guide
- Cpp wait ✓ - Forum C++
- Modulo cpp - Forum C++
- Suite arithmétique excel ✓ - Forum Excel
4 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
4 avril 2009 à 12:03
4 avril 2009 à 12:03
Salut,
n<=5 Qu'est-ce que tu attends de cette instruction ?
printf ( " A : %4d %10f\n ,n,X)
Permet d'afficher n sur 4 caractères et X sur 10 en complétant par des espaces si nécessaire.
n<=5 Qu'est-ce que tu attends de cette instruction ?
printf ( " A : %4d %10f\n ,n,X)
Permet d'afficher n sur 4 caractères et X sur 10 en complétant par des espaces si nécessaire.
bonjour ,
merci de ta reponse ,
mais il reste un truc j'attends pas quelque chose de cette instruction mais je veux connaitre la logique de calcul .
merci .
merci de ta reponse ,
mais il reste un truc j'attends pas quelque chose de cette instruction mais je veux connaitre la logique de calcul .
merci .
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
4 avril 2009 à 12:22
4 avril 2009 à 12:22
Oui, mais
n<=5 n++;
n'est pas une instruction correcte.
C'est pour ça que je te demande ce que t'appelles n<=5.
Si tu souhaites mettre 5 dans n, il faut faire n=5. Et effectivement n++ permet d'incrémenter n. Donc n devient égal à 6. Mais si tu utilises n<=5, alors que n vaut 0, cela comparera 0<=5 qui est vrai, donc l'instruction renverra 1. Et comme tu récupères pas le résultat, l'instruction est complètement inutile.
Donc qu'entends-tu par n<=5 ? (tu voulais dire n=5 ou pas ?).
n<=5 n++;
n'est pas une instruction correcte.
C'est pour ça que je te demande ce que t'appelles n<=5.
Si tu souhaites mettre 5 dans n, il faut faire n=5. Et effectivement n++ permet d'incrémenter n. Donc n devient égal à 6. Mais si tu utilises n<=5, alors que n vaut 0, cela comparera 0<=5 qui est vrai, donc l'instruction renverra 1. Et comme tu récupères pas le résultat, l'instruction est complètement inutile.
Donc qu'entends-tu par n<=5 ? (tu voulais dire n=5 ou pas ?).
bonjour ,
je prends un autre exemple ok ;
n=p=0;
while ( n<=5) n + = p++ ;
printf (B : n = %d\n , n);
j'ai B : n = 10 ? pourquoi comment on a eu ce resultat tu te m'esxpliquer la logique de calcul ;
j ai un autre exemple :
n=p=0;
while ( n <=8) n +=++p;
printf("c : n= %d\n" , n);
ici n = 15 comment
merci pour ton aide .
je prends un autre exemple ok ;
n=p=0;
while ( n<=5) n + = p++ ;
printf (B : n = %d\n , n);
j'ai B : n = 10 ? pourquoi comment on a eu ce resultat tu te m'esxpliquer la logique de calcul ;
j ai un autre exemple :
n=p=0;
while ( n <=8) n +=++p;
printf("c : n= %d\n" , n);
ici n = 15 comment
merci pour ton aide .
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
4 avril 2009 à 13:32
4 avril 2009 à 13:32
Ah, avec le while, ça change tout ^^.
n=p=0;
while ( n<=5) n += p++ ; //attention pas d'espace entre le + et =.
printf (B : n = %d\n , n);
Tant que n est inférieur ou égal à 5, on fait n=n+p; et p=p+1;
Ce qui donne successivement :
n=0+0=0 puis p=0+1=1
n=0+1=1 puis p=1+1=2
n=1+2=3 puis p=2+1=3
n=3+3=6 puis p=3+1=4
On arrête là car n est supérieur à 5.
Donc n vaut 6 et non 10.
De même pour l'autre exemple, n vaudra 10 et non 15.
C'est lors de la prochaine itération (ou n+p) qu'on aura 10 et 15.
Cdlt
n=p=0;
while ( n<=5) n += p++ ; //attention pas d'espace entre le + et =.
printf (B : n = %d\n , n);
Tant que n est inférieur ou égal à 5, on fait n=n+p; et p=p+1;
Ce qui donne successivement :
n=0+0=0 puis p=0+1=1
n=0+1=1 puis p=1+1=2
n=1+2=3 puis p=2+1=3
n=3+3=6 puis p=3+1=4
On arrête là car n est supérieur à 5.
Donc n vaut 6 et non 10.
De même pour l'autre exemple, n vaudra 10 et non 15.
C'est lors de la prochaine itération (ou n+p) qu'on aura 10 et 15.
Cdlt
debutant
>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
4 avril 2009 à 15:47
4 avril 2009 à 15:47
salut ,
excuse moi je vais te deranger encore une fois est-ce-que tu peux m'explique comment de :
n=p=0;
while ( n<=5) n += p++ implique n=n+p; et p=p+1 ?
et est-ce que les choses vont changer si je mets à la plaça de p++ ,++p.
merci .
excuse moi je vais te deranger encore une fois est-ce-que tu peux m'explique comment de :
n=p=0;
while ( n<=5) n += p++ implique n=n+p; et p=p+1 ?
et est-ce que les choses vont changer si je mets à la plaça de p++ ,++p.
merci .
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
>
debutant
4 avril 2009 à 16:02
4 avril 2009 à 16:02
while ( n<=5) n += p++ implique n=n+p; et p=p+1 ?
n+=p++ signfie n=n+p++.
Et p++ signifie p=p+1 en renvoyant la valeur avant incrémentation (post-incrémentation).
Donc en gros, c'est comme si tu faisais : n=n+p; p=p+1.
et est-ce que les choses vont changer si je mets à la plaça de p++ ,++p.
Oui, là il s'agit de pré-incrémentation. Mais dans ton exemple, n aura la même valeur. Par contre p n'aura pas la même valeur.
Donc si on reprend chacune des étapes appliquées à :
n=p=0;
while ( n<=5) n += ++p ;
printf (B : n = %d\n , n);
Cela donne :
p=0+1=1 et n=0+1=1
p=1+1=2 et n=1+2=3
p=2+1=3 et n=3+3=6
Ici p vaut 3, alors que p vaut 4 en mettant p++.
Cdlt
n+=p++ signfie n=n+p++.
Et p++ signifie p=p+1 en renvoyant la valeur avant incrémentation (post-incrémentation).
Donc en gros, c'est comme si tu faisais : n=n+p; p=p+1.
et est-ce que les choses vont changer si je mets à la plaça de p++ ,++p.
Oui, là il s'agit de pré-incrémentation. Mais dans ton exemple, n aura la même valeur. Par contre p n'aura pas la même valeur.
Donc si on reprend chacune des étapes appliquées à :
n=p=0;
while ( n<=5) n += ++p ;
printf (B : n = %d\n , n);
Cela donne :
p=0+1=1 et n=0+1=1
p=1+1=2 et n=1+2=3
p=2+1=3 et n=3+3=6
Ici p vaut 3, alors que p vaut 4 en mettant p++.
Cdlt
5 avril 2009 à 01:33
merci.