Pilotwings
Messages postés14Date d'inscriptionmercredi 24 décembre 2008StatutMembreDernière intervention14 mai 2010
-
10 janv. 2009 à 23:32
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011
-
11 janv. 2009 à 18:27
Bonjour à toutes et à tous, j'essaye de m'exercer sur des exos que je n'arrive pas à terminer comme il faut.
On me demande de remplir le programme suivant sans oublier de supprimer les erreurs :
Code :
#include
using namespace std;
int main()
{
int nbrPompes;
cout<<"ahhh on me prend pour un programmeur cpp \n"
cout<<"tu va me faire ";
cin>>nbrPompes;
for (___________________)
{
cout<<"et de "<
using namespace std;
int main()
{
int nbrPompes;
cout<<"ahhh on me prend pour un programmeur cpp \n";
cout<<"tu va me faire ";
cin>>nbrPompes;
for ( int nbrPompes ; nbrPompes>0 ; nbrPompes++)
{
cout<<"et de "<<nbrPompes+1<<" pfff \n";
}
system("pause");
return 0;
}
Quand j'exécute, le résultat ne fait qu'augmenter sans s'arrêter et je souhaite un résultat fixe en gardant ma boucle for !
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 11 janv. 2009 à 18:27
Exact, mais sincèrement Pilotwings, va lire des tutos sur l'utilisation de la boucle for() parce-que ce que tu as fait, c'est assez catastrophique.
La programmation, c'est avant tout de l'algo. L'algo c'est avant tout des maths. Et les maths, c'est avant tout de la réflexion. Or il n'y a pas de réflexion dans ton code.
J'explique vite fait, histoire que mon commentaire ne soit pas inutile.
for (initialisation;condition de la boucle;action sur l'indice de boucle) {commandes }
Toi, tu as fait ceci :
"déclarer une variable de type entier, sans connaître sa valeur (qui existe déjà, en plus), boucler tant que cette variable est supérieure à zéro, incrémenter de 1 cette variable à chaque passage dans la boucle".
Tu arrives là à une boucle infinie (tu incrémentes de 1 une variable qui est déjà supérieure à zéro, donc la boucle ne s'arrêtera jamais).
Voilà ce qu'a fait DeAtHCrAsH maintenant :
"déclarer une variable de type entier et de valeur 0, boucler tant que cette variable est inférieure à nbrPompes (dont on connait la valeur), incrémenter de 1 cette variable à chaque passage dans la boucle".
En plus, ça colle très bien avec l'énnoncé de départ qui contenait ceci :
cout<<"et de "<<i+1<<" pfff "<<*"\n";
Toi, tu as été contraint de remplacer i par nbrPompes, donc tu aurais du savoir que ton code était déjà faux au départ.
Ce commentaire ne donne pas la réponse directe à ton problème (DeAtHCrAsH s'en est chargé ) mais à expliquer un peu.Sinon dans 3 jours tu reviens avec le même genre de questions de base.