Urgent: prob du sommet de fleche en C svppp

Résolu
dr hisoka Messages postés 70 Date d'inscription   Statut Membre -  
dr hisoka Messages postés 70 Date d'inscription   Statut Membre -
printf(" saluuuut pour tous les programmeur ");

le but de programme est d'afficher une fleche derigé en haut
par exemple si en tape pour n=3 ça affiche

....*
..***
***** " remarque : les point signifie des espace vide "
....*
....*
....*

je l'ai fait pour n'importe quelle valeur de n le voici mais j un prob d'affichage du sommet je sai pa prq ??? aidez moi a le trouvé svpp

#include <stdio.h>
#include <stdlib.h>

int main()
{
int i,j,esp,n;
i=1;
j=1;
printf(" entrer le nombre n ");
scanf("%d",&n);
while(i<=n)
{ esp=n-i;
while(esp!=0)
{
printf(" ");
esp--;
}
printf("*");
i++;
if(i==n)
{printf("\n");}
}
while( j<=n)
{
printf(" ");
printf(" ");
printf("*\n");
j++;
}
}
Configuration: Windows XP
Safari 532.0

5 réponses

  1. dr hisoka Messages postés 70 Date d'inscription   Statut Membre 3
     
    je remarque que le nombre d'etoile est 2i-1
    si en est par ex a la ligne 3
    2*3-1 =5 etoile
    mais cmm l'ajouté dans mon code source
    aidez moi ???
    1
  2. didji
     
    Essaye sa ;)
     #include <stdlib.h>
    #include <stdio.h>
    
    int main (void)
    {
        int i;
        int j;
        int n=-1;
        int nbCaractereMaxLigne;
    
        do
        {
            printf("Entrez le nombre n : ");
            fflush(stdin);
            scanf("%d",&n);
        }while(n<0 && n>40); //plus de 80 caractere = bug affichage
    
        nbCaractereMaxLigne=n+(n-1);
        //Partie triangulaire
        for(i=0;i<n;i++)
        {
            //nombre d'espaces
            for(j=nbCaractereMaxLigne-(i+n);j>0;j--)
            {
                printf(" ");
            }
            //moitié gauche du triangle
            for(j=0;j<=i;j++)
            {
                printf("*");
            }
            //partie droite du triangle
            for(j=i;j>0;j--)
            {
                printf("*");
            }
            printf("\n");
        }
        //Partie queue de fleche
        for(i=0;i<n;i++)
        {
            for(j=0;j<n-1;j++)
            {
                printf(" ");
            }
            printf("*\n");
        }
    
        system("pause");
        return 0;
    }
    
    


    Voilà
    1
    1. didji
       
      while(n<0 && n>40); //plus de 80 caractere = bug affichage

      J'ai fais une petite erreure : il faut remplacer '&&' par '||'
      0
  3. Boulet moi aussi
     
    si tu dessines ta fleche dans une matrice, tu peux repérer chaque * par ses coordonnées
    il ne te reste plus qu'à remarquer la fonction qui te liste les x en fonction de y
    0
  4. dr hisoka Messages postés 70 Date d'inscription   Statut Membre 3
     
    y a qlq ????
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dr hisoka Messages postés 70 Date d'inscription   Statut Membre 3
     
    bravooo didji ça maaaaarche
    passe moi ton msn ???
    0
    1. didji
       
      la mm que mon mail
      0
      1. dr hisoka Messages postés 70 Date d'inscription   Statut Membre 3 > didji
         
        je vx juste te b1 connaitre si tu vx ?
        0