Aide en c !

Fermé
Laurie - 29 oct. 2009 à 11:37
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 29 oct. 2009 à 14:03
Bonjour,
Je suis bloquée dans un exercice de programmation en C, on fait je sais que je dois utiliser une boucle for mais je suis completement bloquée et je trouve pas la solution
veuillez m'aider svp !

L'enonce de l'exercice :
Afficher un triangle isocéle formé d'étoiles, la hauteur de triangle sera fournie en donnée.
exemple : N = 7
*
**
***
****
*****
******
*******

6 réponses

Utilisateur anonyme
29 oct. 2009 à 11:40
il y a eu e même sujet il y a quelque jours...
0
Pilow Messages postés 400 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 23 décembre 2009 71
29 oct. 2009 à 11:41
Pour que ton triangle soit isocèle il faut deux cotés égaux

Si tu commences :
1ère ligne = 1 étoile
2ème ligne = 2 étoiles
....
....
7ème ligne = 7 étoiles

Vu que tu aura autant de ligne que d'étoile sur cette même ligne, ton triangle sera forcement isocèle.

Le principe de ton programme est donc :
Prendre en paramètre la hauteur de ton triangle
Initialiser une variable à 1
Boucler (tant que cette variable est inférieure a ta hauteur afficher un nombre d'étoile égal à la valeur de ta variable)
0
latoopa Messages postés 258 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 5 janvier 2012 32
29 oct. 2009 à 11:48
Salut,
connais tu la boucle for ?

Elle se présente comme ça : for(A,B,C)
A est la valeur initiale de ton indice de boucle (int i par exemple...)
B est la condition pour continuer (i != X, avec X la valeur à laquelle tu veux que ta boucle s'arrête, i=7, "par exemple"...)
C est la méthode d'évolution dans ta boucle (i = i++, etc...)

Toi tu veux faire une boucle qui va faire un printf d'un nombre d'étoiles qui va s'incrémenter de 1 à chaque fois...

ça va donc donner un truc dans le genre... (moi je suis plutôt java...dsl ) :

String zetoiles="";
for (i= "a toi de voir" ; i != "a toi de voir" ; i = "a toi de voir"){
zetoiles=zetoiles+"*";
printf(zetoiles+"\n");
}

voilà !
J'espere que ça t'aidera.
Toopa
0
Bon merci pour tous, j'ai essayé mais je reçois des erreurs sur la boucle for , voila mon code, veuilllez m'aider svp :

#include <stdio.h>
void main()
{ int i,N;
char zetoiles[1024]="";
printf("Entrer N ");
scanf("%d",&N);
for (i=1;i=N;i=i++){
zetoiles=zetoiles+"*";
printf(zetoiles+"\n");
}
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pilow Messages postés 400 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 23 décembre 2009 71
29 oct. 2009 à 13:49
zetoiles=zetoiles+"*";
printf(zetoiles+"\n");


Et ici aussi il manque le !

for (i=1;i<b>!</b>=N;i++)


Ca ca ne marche pas en C

Essaye :

#include <stdio.h>

void main()
{ 
  int i,N, x;
  char zetoiles[1024]="";
  printf("Entrer N ");
  scanf("%d",&N);

for (i=1;i!=N;i++)
 {
  for (x= 0;x<i;x++) {
  zetoiles[x]='*';
   }
  zetoiles[x]='\0';
  printf("%s\n", zetoiles);
  }
 }
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
29 oct. 2009 à 14:03
Salut,

Il y a eu e même sujet il y a quelque jours...

Même quelques années ;-)
https://forums.commentcamarche.net/forum/affich-1225290-exo-programmation-c#7
0