Déssiner un piramide avec langage c
badreflow
Messages postés
63
Statut
Membre
-
ch_souf -
ch_souf -
Bonjour,
voulez vous m aider car je suis bloquer la
je daisir ecrire un programme qui permet de construire des piramides sachant que l utilsateur entre le nombre de ligne
(la hauteure du triangle qui y est enface de l utilisateur) est qui donne un résultat comme ce lui ci:
combien de ligne ? 5
----------------------------------*"
--------------------------------***"""
------------------------------*****"""
----------------------------*******"""
--------------------------*********"
j ai essaier de le faire mais je me trouve toujour en face du méme probléme ;comment faire pour que les (") s arréte d ajouter un autre (") dans la ligne 4 (comme vous le voyer au dessin en haut) est qu il diminu de 2 dans la derniere ligne
(ici dans le cas ou le nombre de ligne est 5)
mon prgramme que j ai fait :
#include <stdio.h>
int main ()
{
int x, y, z,d,n;
printf ("combien de ligne?");
scanf ("%d",&d);
for(x=0;x<d;x++)
{
for(y=0;y<(d-x);y++)
{
printf(" ");
}
for(z=0;z<1 + 2 * x;z++)
{
printf("*");
}{if (z=1)
{for (n=0;n<=x;n++)
printf ("@");
}
printf("\n");
}}}
mais il donne un résultat comme ca :
combien de ligne ? 5
-------------------------------*@
-----------------------------***@@
---------------------------*****@@@
-------------------------*******@@@@
------------------------********@@@@@
voulez vous m aider car je suis bloquer la
je daisir ecrire un programme qui permet de construire des piramides sachant que l utilsateur entre le nombre de ligne
(la hauteure du triangle qui y est enface de l utilisateur) est qui donne un résultat comme ce lui ci:
combien de ligne ? 5
----------------------------------*"
--------------------------------***"""
------------------------------*****"""
----------------------------*******"""
--------------------------*********"
j ai essaier de le faire mais je me trouve toujour en face du méme probléme ;comment faire pour que les (") s arréte d ajouter un autre (") dans la ligne 4 (comme vous le voyer au dessin en haut) est qu il diminu de 2 dans la derniere ligne
(ici dans le cas ou le nombre de ligne est 5)
mon prgramme que j ai fait :
#include <stdio.h>
int main ()
{
int x, y, z,d,n;
printf ("combien de ligne?");
scanf ("%d",&d);
for(x=0;x<d;x++)
{
for(y=0;y<(d-x);y++)
{
printf(" ");
}
for(z=0;z<1 + 2 * x;z++)
{
printf("*");
}{if (z=1)
{for (n=0;n<=x;n++)
printf ("@");
}
printf("\n");
}}}
mais il donne un résultat comme ca :
combien de ligne ? 5
-------------------------------*@
-----------------------------***@@
---------------------------*****@@@
-------------------------*******@@@@
------------------------********@@@@@
2 réponses
#include <stdio.h>
#include <iostream.h>
void main()
{
int n,i,j,nes,net,k;
cout << "Entrez le nombre de lignes : "; cin >> n;
nes = n-1;
net = 1;
for( i=1 ; i<=n ; i++ ) {
for( j=1 ; j<=nes ; j++ )
cout << " ";
for( k=1 ; k<=net ; k++ ) {
cout << "*"; }
net = net+2;
nes = nes-1;
cout <<"\n";}
getchar();
}
#include <iostream.h>
void main()
{
int n,i,j,nes,net,k;
cout << "Entrez le nombre de lignes : "; cin >> n;
nes = n-1;
net = 1;
for( i=1 ; i<=n ; i++ ) {
for( j=1 ; j<=nes ; j++ )
cout << " ";
for( k=1 ; k<=net ; k++ ) {
cout << "*"; }
net = net+2;
nes = nes-1;
cout <<"\n";}
getchar();
}
voila la correction :
#include <stdlib.h>
#include <stdio.h>
int main ()
{
int x, y, z,d,n;
printf ("combien de ligne?");
scanf ("%d",&d);
for(x=0;x<d;x++)
{
for(y=0;y<(d-x);y++)
{
printf(" ");
}
for(z=0;z<1 + 2 * x;z++)
{
printf("*");
}{if (z=1)
{for (n=0;n<=x;n++)
printf (" ");
}
printf("\n");
}}
system("PAUSE");
}
de amine belgacha
#include <stdlib.h>
#include <stdio.h>
int main ()
{
int x, y, z,d,n;
printf ("combien de ligne?");
scanf ("%d",&d);
for(x=0;x<d;x++)
{
for(y=0;y<(d-x);y++)
{
printf(" ");
}
for(z=0;z<1 + 2 * x;z++)
{
printf("*");
}{if (z=1)
{for (n=0;n<=x;n++)
printf (" ");
}
printf("\n");
}}
system("PAUSE");
}
de amine belgacha
voici une autre solution plus ergonomique!!
#include<stdio.h>
#include<conio.h>
void triangle_rectangle(int);
void trinagle_isocele(int);
void main()
{
int nb_lignes;
clrscr();
do{
printf("Entrez le nombre de lignes: ");
scanf("%d",&nb_lignes);
}while(nb_lignes<0); /*boucler sur les valeurs negatives saisies*/
printf("\n\aTriangle rectangle:\n\n");
triangle_rectangle(nb_lignes);
getch();
printf("\n\aTriangle isocele:\n\n");
trinagle_isocele(nb_lignes);
getch();
}
/*********** Developpement des fonctions ************/
void triangle_rectangle(int nb_lignes)
{ int i,j;
for(i=0;i<=nb_lignes;i++)
{ for(j=0;j<=i;j++)
printf("*");
printf("\n");
}
}
void trinagle_isocele(int nb_lignes)
{
int i,j,k;
int nb_espaces=nb_lignes-1;
for(i=1;i<=nb_lignes;i++)
{
for(j=0;j<nb_espaces;j++)
printf(" ");
for(k=0;k<(2*i-1);k++)
printf("*");
nb_espaces--;
printf("\n");
}
}