Besoin aide programmation c

Résolu
mattdusud Messages postés 241 Date d'inscription   Statut Membre Dernière intervention   -  
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
j'essaye de faire un programme qui affiche le meme caractere sur n lignes et en pyramides, l'utilisateur pouvant choisir le nombre de lignes. D ela doit donnes quelque chose qomme ceci:

si n=2

....@
..@ @

si n =4

......@
....@ @
..@ @ @
@ @ @ @

etc... avec les ... étants des espaces

seulement je bloque, comment faire pour afficher les meme caracteres d'affilée? en incrémentant? ça risque pas de changer le caractere?

merci pour vos reponses<code>Configuration: windows xp sp2
mozilla 3.0.9
IE8

7 réponses

nabil07 Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   64
 
KONNICHIWA,

voici une proposition pour votre problème,


var i, j, k : entier

0 - début
1 - ecrire("donnez le nombre de lignes :")
     lire(n)
2 - pour i=0 à n faire
           pour j=0 à (n-1-i) faire
                  ecrire(" ")
           fin pour
           pour k=0 à (n-j) faire
                  ecrire("@")
           fin pour
     fin pour
3 - fin prog



traduit ça en langage C, et ca va marcher.
0
mattdusud Messages postés 241 Date d'inscription   Statut Membre Dernière intervention   27
 
merci beaucoup mais j'ai un petit problème: la fenêtre reste noire et les curseur descend  après avoir entré le nombre puis s'arrette. Je pense qu'il manque quelque chose dans les parenthèses du pour mais je ne sais pas quoi.
voici le code


#include<stdio.h>
#include<math.h>

main()
{
      int i,j,k,n;
      
      printf("nb de lignes?");
      scanf("%i", &n);
      
      for (i=0; i<n; )
      {
          for (j=0; j<= n-1-i; )
          {
              printf(" ");
              }
              
          for ( k=0; k < n-j;)
          {
              printf("@");
              
              }
              }
              system ("pause");
              }



<code>
</code>
0
Jeanne
 
scanf("%i", &n);

Deja là: ce ne serait pas plutôt "%d" ?

Mais bon moi, c'est le genre de petit prog que je fais en 4 lignes de code en python.
0
nabil07 Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   64
 
voici la correction :


#include<stdio.h>

void main(){
    int n;

    printf("Donnez le nombre de ligne :");
    scanf("%i",&n);
    for(int i=0;i<n;i++){
         for(int j=0;j<(n-i-1);j++){
              printf(" ");
         }
         for(int k=0;k<n-j;k++){
               printf("@");
         }
         printf("\n");
    }
    getchar();
}

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jeanne
 
voici la correction :

a= input('choisissez le nombre de ligne\n')
i=0
while i<=a:
    print '@'*i
    i=i+1
input()

J'adore python
0
mattdusud Messages postés 241 Date d'inscription   Statut Membre Dernière intervention   27
 
merci pour vos réponses, j'ai pu avoir un bon programme. pour les curieux:$

main()
{
int i,j,n;
printf("nombre de lignes?\n");
scanf("%i", &n);

for (i=0; i<=n; i+=1)
{
for (j=0; j<=n-i-1; j=j+1) printf(" ");

for(j=0; j<i*2-1; j=j+1)
{
printf("@");
}
printf("\n");
}
system("pause");
}


merci a tous ;)
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
merci de penser à passer vos sujet en résolu ;)
0