Rechercher : dans
Par :

Déssiner un piramide avec langage c

Dernière réponse le 28 mar 2009 à 17:37:32 badreflow, le 14 jun 2008 à 20:43:09 
 Signaler ce message aux modérateurs

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

-------------------------------*@
-----------------------------***@@
---------------------------*****@@@
-------------------------*******@@@@
------------------------********@@@@@

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « déssiner un piramide avec langage c » dans :
Langage C++ - Les types de données Voir Les types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Langage C - Les types de données Voir Les types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...
Langage C - Les chaînes de caractères Voir Qu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
[Langage C] C/C++ Erreur de segmentation VoirQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux...
Les piles en langage C VoirLes piles Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la pile IV. Opérations sur les piles A. Initialisation B. Insertion d'un élément dans la pile C. Ôter un élément de la pile D. Affichage...
Les files en langage C VoirLes files - Premier Entré Premier Sorti Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la file IV. Opérations sur les files A. Initialisation B. Insertion d'un élément dans la file C. Oter un...
Langage C - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage C sont typées, c'est-à-dire que les données contenues dans...
Introduction au langage C VoirPetite histoire du C Le langage C a été mis au point par D.Ritchie et B.W.Kernighan au début des années 70. Leur but était de permettre de développer un langage qui permettrait d'obtenir un système d'exploitation de type UNIX portable. D.Ritchie...

1

blg2000, le 28 mar 2009 à 17:33:56

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

Répondre à blg2000

2

 AmineKalaa, le 28 mar 2009 à 17:37:32

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");
  }
}

Répondre à AmineKalaa