Partage
  • Partager sur Facebook
  • Partager sur Twitter

exo dessiner un triangle rectangle

débutant

Sujet résolu
20 mars 2011 à 10:58:43

bonjour mes amis zéro's j'espère que vous avez bien dormis! :D
voilà mon souci j'essaye d'écrire un triangle rectangle avec des * ainsi si j'entre n == 3 j'ai
***
**
*

voici le code qui affiche ceci
****
*
*
*
donc le code:
#include <stdio.h>
#include <stdlib.h>


void triangle(int nombreTape)
{
    int i=0;
    int j=0;
    for (i=0; i<nombreTape; i++)
    printf("*", nombreTape);
    {
        for (j=0; j<nombreTape; j++)
            printf("*\n", nombreTape );
  if (j && i == nombreTape)
  {
      printf("*\n", nombreTape);
  }
  else
   {
       printf("une erreur s'est produite ");
   }
 }
}
 int main (void)
{
      int nombreTape =0;
      
      printf ("entrez un nombre");
      scanf("%d", &nombreTape);

             triangle(nombreTape);
return 0;
}
que faire pour dessiner des * en décrémentant de 1 a chaque lignes?
merci pour votre aide !
  • Partager sur Facebook
  • Partager sur Twitter
"there is no path to peace, Peace is the path " Mahatma Gandhi
20 mars 2011 à 11:20:17

Salut !

Essaye:
void triangle(int nb)
{
    int i, j;
    for (i=nb;i>0;i--)
    {
        for (j=0;j<i;j++)
            printf("*");
        printf("\n");
    }
}


Je viens de tester, ça marche :)
  • Partager sur Facebook
  • Partager sur Twitter
20 mars 2011 à 11:43:30

merci beaucoup Max13! :D effectivement ca fonctionne je n'aurais jamais penser a ce type de boucle que j'ai du mal a saisir d'ailleurs! :-°
si tu m'expliciter d'avantage ce serait cool...
merci d'avance max13
voici le code corrigé par tes soins :
#include <stdio.h>
#include <stdlib.h>


void triangle(int nombreTape)
{
    int i, j;
        for (i=nombreTape;i>0;i--)
    {
        for (j=0;j<i;j++)
            printf("*");
        printf("\n");
    }


}
    int main (void)
{
    int nombreTape =0;

       printf ("entrez un nombre");
       scanf("%d", &nombreTape);
              triangle(nombreTape);
return 0;
}


merci d'avance et bravo pour la soluce !
  • Partager sur Facebook
  • Partager sur Twitter
"there is no path to peace, Peace is the path " Mahatma Gandhi
20 mars 2011 à 11:49:37

Ah mais de rien :)

Je t'explique (je t'avouerais que j'ai même pas lu ton "triangle" parce que je me suis dis du premier coup d'oeil que tu te prenais la tête ^^ )

int i, j; // Si je dois expliquer ça... C'est mal partit  ;) 
for (i=nombreTape;i>0;i--) // Si tu regarde bien, cette boucle part du nombre d'étoile tapé, s’exécute tant que 'i' est supérieur à 0, et à la fin, décrémente i de 1. Je m'en suis servit pour le nombre d'étoiles.
{
    for (j=0;j<i;j++) // Cette boucle écrit le nombre d'étoile 'i'. Part de 0, jusqu'à i.
        printf("*"); // Bon... Là, c'est l'écriture... Cette ligne fait partit de la boucle car elle suit tout de suite après.
    printf("\n"); /// Enfin, cette ligne est hors de la 2e boucle (Car si pas d'accolade, seule la ligne suivante est bouclée) et sert à sauter une ligne 
}


Est-ce que tu saisis mieux ?
  • Partager sur Facebook
  • Partager sur Twitter
20 mars 2011 à 12:02:28

oui merci Max13 je comprends mieux maintenant ;) mais j'avoue que j'aurais jamais trouvé tout seul :o


bref chapeau bas monsieur Max13 et merci :D


bon code à tous! :p
  • Partager sur Facebook
  • Partager sur Twitter
"there is no path to peace, Peace is the path " Mahatma Gandhi
5 novembre 2015 à 20:31:49

jai un probléme aussi jai fait deja mn triangle comme suit 

*

**

***

****

si n=4 et lexercice suivantt est de remplir l triangle avec des 0 comme suit 

*

**

*0*

*00*

*****

merci de maiderr :)

  • Partager sur Facebook
  • Partager sur Twitter
5 novembre 2015 à 21:48:27

iiikram a écrit:

jai un probléme aussi jai fait deja mn triangle comme suit 

*

**

***

****

si n=4 et lexercice suivantt est de remplir l triangle avec des 0 comme suit 

*

**

*0*

*00*

*****

merci de maiderr :)


malgré qu'il est un peu long mais j’espère que ça vous aide  ;)

#include <stdio.h>

int main()
{

int i,j,f,n;

n = 5;

for (i=1;i<=n;i++)
{
    if (i==3)
    {
        for(f=0;f<i/3;f++) { printf("*"); }
        for(f=i/3;f<(i/3)*2;f++) { printf("0"); }
        for(f=(i/3)*2;f<(i/3)*3;f++) { printf("*"); }
    }
    else if (i==4)
    {
        for(f=0;f<i/3;f++) { printf("*"); }
        for(f=i/3;f<(i/3)*2+1;f++) { printf("0"); }
        for(f=(i/3)*2;f<(i/3)*3;f++) { printf("*"); }
    }
    else
    {
        for(j=1;j<=i;j++)
        {
            printf("*");       
        }
    }   
    printf("\n");   
}

return 0;

}


  • Partager sur Facebook
  • Partager sur Twitter
13 décembre 2018 à 9:49:32

bonjour

mes amis zéro's j'espère que vous avez bien dormis

ermettant d’afficher un X d’étoiles de hauteur h impaire Par exemple un
X de hauteur 5 sera

*      *

 *   *

   *

 *   *

*      *

  • Partager sur Facebook
  • Partager sur Twitter
13 décembre 2018 à 10:19:14

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. Me contacter par MP si besoin.

  • Partager sur Facebook
  • Partager sur Twitter

Pas d'aide concernant le code par MP, le forum est là pour ça :)