Triangle de nombres

Fermé
sousourossa Messages postés 11 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 16 mai 2011 - 4 mai 2011 à 13:03
florette-08 Messages postés 6 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 6 mai 2011 - 4 mai 2011 à 13:55
Bonjour,
svp j'ai une formation sur le langage C et je rencontre un probléme dans ce programme
#include <stdio.h>
#include <stdlib.h>

int main()
{
int i,j;
printf ("Donnez l'hauteur N =");
scanf ("%d",&N);
for (i=0;i<4;i++){
for(j=0;j<i;j++)
{
printf(j);
printf("\n");
}
}
return 0;
}


alors le resultat voulu est ce triangle suivant

1
12
123
1234
12345
123456
1234567
12345678
123456789


en algo ca apprait que ca marche mais en C il ne fonctionne pas
alors svp aidez moi et merci d'avance

1 réponse

Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 691
Modifié par Neliel le 4/05/2011 à 13:10
Bonjour,

Pour commencer, ton saut à la ligne est mal placé. Tu l'as mis dans la deuxième boucle for, alors qu'il ne doit être que dans la première.
Comme ceci:

int main() 
{ 
int i,j; 
printf ("Donnez l'hauteur N ="); 
scanf ("%d",&N); 
for (i=0;i<4;i++){ 
for(j=0;j<i;j++) 
{ 
printf(j); 
} 
printf("\n"); 
} 
return 0; 
}  


Ensuite, elle te sert à quoi la variable N ? Tu demande à l'utilisateur d'entrer une hauteur mais tu fixe cette hauteur à 4 dans la boucle.

"Trotti Trotta, Monsieur P, il y a des anges qui veulent un bisou..."
"Même les joujou de Monsieur P ont besoin de joujou"
0
narjiss_dev Messages postés 2 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 10 mai 2011
4 mai 2011 à 13:18
oui je l'ai testé mais ca ne fonctionne pas toujours il reste le probleme dans printf(j)
ce que quand je mets printf(".",j) le resultat est un triangle d'etoiles mais quand je le laisse comme ca printf(j) il ne donne pas les nombres voulus
alors comment faire?
et merci encore
0
Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 691
4 mai 2011 à 13:49
Parce qu'il est mal écrit:

Ce n'est pas
printf(j);


mais

printf("%d", j);


La fonction printf a besoin de connaître le type de variable a affiché. Mettre %d indique à printf qu'il va affiché un entier.
0
florette-08 Messages postés 6 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 6 mai 2011
4 mai 2011 à 13:55
ouiii maintenant il fonctionne parfaitement bien mercio bcp de m'avoir aidé
0