Pyramides

zell61 Messages postés 6 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 2 septembre 2013 - 28 mai 2010 à 21:59
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 29 mai 2010 à 12:14
bonjour j ai un petit probleme j ai reussi a faire un code pour faire une pyramide en visual c++ que voici

#include<stdio.h>
void main()
{
int n,j,i;
printf("ecrire nombre de ligne : ");
scanf("%d",&n);
printf("\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
{
printf(" ");
}
for(j=1;j<=(2*i)-1;j++)
{
printf("x");
}
printf("\n");
}
printf("\n\n\n\n");
}
mais je n arrive pas a faire le meme code mais il faut que l'étoile commence comme ceci l etoile le plus haut doit etre a gauche(pivoter la pyramide vers la gauche)

*
**
***
****
*****
****
***
**
*
aidez moi svp

1 réponse

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
29 mai 2010 à 12:14
L'exercice de la pyramide est un grand classique.
Je te conseille de découper ton problème.

1) Fais un fonction qui prend en argument un nombre et un caractère et qui écrit le caractère autant de fois que demandé.
void printChar(char c, int nb);

2) Si tu es observateur, tu verras que le nombre d'étoile et le nombre d'espace à gauche est identique. On va donc utiliser l'astuce suivante:
On va d'abord dessiner la pyramide sans prendre en compte les espaces. Tu remarqueras que le nombre d'étoile grandi de 2 à chaque étage.
Ex:
*
***
*****
*******


3) Une fois que tu as réussi l'étape 2, on modifie le code pour ajouter des espaces, sachant que pour chaque étage, le nombre d'espace diminue.
Ex (3, puis 2, puis 1, puis 0):
...*
..***
.*****
*******

Et voilà, à toi de coder maintenant.

_____________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
0
Rejoignez-nous