Pyramides

Signaler
Messages postés
6
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
2 septembre 2013
-
Messages postés
3829
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
8 janvier 2021
-
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

Messages postés
3829
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
8 janvier 2021
114
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]