Besoin aide programmation c

Résolu
mattdusud Messages postés 240 Date d'inscription   Statut Membre Dernière intervention   -  
Nabla's Messages postés 18201 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

  1. nabil07 Messages postés 161 Statut Membre 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
  2. mattdusud Messages postés 240 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
  3. 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
  4. nabil07 Messages postés 161 Statut Membre 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. mattdusud Messages postés 240 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
  8. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    merci de penser à passer vos sujet en résolu ;)
    0