Besoin aide programmation c

Résolu
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

  1. 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.
    1. 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>
      1. 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.
        1. 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();
          }
          
          
          1. 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
            1. 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 ;)