Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/08/2020, à 18:00

zephyre123

[RESOLU] Boucle for dessin d'une pyrmide inversée

Bonjour,

J'apprends la programmation informatique en langage c et je suis au boucle for et je me suis fixé un problème que je n'arrive pas à résoudre.
Dans mon livre on nous demande de dessiner une pyramide comme ceci :
   *            => 3 espaces et 1 étoile
  ***          => 2 espaces et 3 étoiles
*****        => 1 espace  et 5 étoiles
*******      => 0 espace  et 7 étoiles

J'ai réussi à résoudre ce problème le code de la fonction pyramide est ci dessous :

void pyramide(int hauteur)
{
	int longueur = hauteur;
	for (int i = 0; i < longueur; i++)
	{
		// Le nombre d'espace en fonction de la hauteur
		for (int i = 0; i < hauteur - 1; i++)
		{
			printf("x");
		}

		// Le nombre d'étoiles :
		for (int j = 0; j < 2 * i + 1; j++)
		{
			printf("*");
		}

		hauteur--;

		printf("\n");
	}
}

J'essaye de maintenant de faire la même chose mais en inversant la pyramide comme ci dessous :
*******       => 0 espace  et 7 étoiles
*****        => 1 espace  et 5 étoiles
  ***         => 2 espaces et 3 étoiles
   *           => 3 espaces et 1 étoile

J'ai trouvé le bout de code qui permet de dessiner le nombre d'étoile ci dessous :

void pyramide_inverse(int hauteur)
{
	for (int i = hauteur - 1; i >= 0; i--)
	{
		/* Le nombre d'espace en fonction de la hauteur :
		 *
		 * CODE MANQUANT
		 *
		 */


		// Le nombre d'étoiles :
		for (int j = 0 ; j < 2 * i + 1; j++)
		{
			printf("*");
		}


		printf("\n");

	}

}

Le souci c'est que dans ma boucle la plus externe j'initialise i à hauteur - 1 ce qui me permet d'avoir le nombre d'étoiles correct.
Hors pour avoir le bon nombre d'espace il me faut une suite commençant à 0 puis 1 puis 2 ....
Donc la je ne sais pas comment faire.
Pouvez vous m'aider svp ?

Dernière modification par zephyre123 (Le 26/08/2020, à 23:00)

Hors ligne

#2 Le 26/08/2020, à 18:32

pingouinux

Re : [RESOLU] Boucle for dessin d'une pyrmide inversée

Bonjour,

...............................................................
                /* Le nombre d'espace en fonction de la hauteur :
                 *
                 * CODE MANQUANT
                 *
                 */
                for (int k = 0; k < hauteur - 1 - i; k++)
                {
                        printf("x");
                }
...............................................................

Hors ligne

#3 Le 26/08/2020, à 22:59

zephyre123

Re : [RESOLU] Boucle for dessin d'une pyrmide inversée

Merci pingouinux !

Hors ligne