Urgent: prob du sommet de fleche en C svppp

Résolu/Fermé
dr hisoka Messages postés 71 Date d'inscription vendredi 6 novembre 2009 Statut Membre Dernière intervention 2 février 2010 - 8 déc. 2009 à 20:11
dr hisoka Messages postés 71 Date d'inscription vendredi 6 novembre 2009 Statut Membre Dernière intervention 2 février 2010 - 8 déc. 2009 à 21:04
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++;
}
}

5 réponses

dr hisoka Messages postés 71 Date d'inscription vendredi 6 novembre 2009 Statut Membre Dernière intervention 2 février 2010 3
8 déc. 2009 à 20:28
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
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
while(n<0 && n>40); //plus de 80 caractere = bug affichage

J'ai fais une petite erreure : il faut remplacer '&&' par '||'
0
Boulet moi aussi
8 déc. 2009 à 20:26
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
dr hisoka Messages postés 71 Date d'inscription vendredi 6 novembre 2009 Statut Membre Dernière intervention 2 février 2010 3
8 déc. 2009 à 20:44
y a qlq ????
0

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

Posez votre question
dr hisoka Messages postés 71 Date d'inscription vendredi 6 novembre 2009 Statut Membre Dernière intervention 2 février 2010 3
8 déc. 2009 à 20:55
bravooo didji ça maaaaarche
passe moi ton msn ???
0
la mm que mon mail
0
dr hisoka Messages postés 71 Date d'inscription vendredi 6 novembre 2009 Statut Membre Dernière intervention 2 février 2010 3 > didji
8 déc. 2009 à 21:04
je vx juste te b1 connaitre si tu vx ?
0