Partage
  • Partager sur Facebook
  • Partager sur Twitter

langage c dessiné un triangle

Recherche une correction ou une explication

Sujet résolu
    21 mars 2018 à 20:59:17

    langage c dessiné un triangle

    est ce que vous pourriez s'il vous plait m'expliquer ce qui ce produit dans ce programme de façon simple et efficace, j'ai passer pas mal d'heur a essayer de le résoudre ayant réussit je n'y comprend tout de même pas grand chose j'ai changer de combinaison pas mal de fois afin d'arriver a ce résultat.

    je souhaiterai comprendre ce qui ce produit au cœur des boucles s'v'p !

    #include <stdio.h>
    #include <stdlib.h>
    
    int main (int argc, char *argv[]) {
    
    int x, y, z;
     
    for(x = 0;x < 5;x++) //hauteur fixer a 5 ligne
    {
        for(y = 1;y < 5-x;y++) // nombre d'espacement dans chaque ligne
        {
            printf(" ");
        }
        for(z = 0;z < 1 + 2 * x;z++) // ???????????????
        {
            printf("*");
        }
        printf("\n");
    }
    	return 0;
    }

    Toutes information ou critiques est bonne a prendre, merci !

    Cordialement MHA.


    -
    Edité par Gr3y_Host 22 mars 2018 à 11:27:47

    • Partager sur Facebook
    • Partager sur Twitter
    La passion et les rêves sont comme le temps, rien ne peut les arrêter, et il en sera ainsi tant qu’il y aura des hommes prêts à donner un sens au mot « LIBERTE » – Gold D. Roger
      22 mars 2018 à 9:18:49

      Ca veut dire quoi, résoudre un programme ?  Il fait exactement ce qui est décrit par son code, il n'y a donc pas de problème.  Il y en aurait un si ce qu'il fait ne correspond pas à une description précise de ce que tu voudrais qu'il fasse, qui serait différent, mais ça tu ne nous le dis pas.

      Deux choses :

      - en général, quand on n'arrive pas à comprendre quelques chose (en y ayant passé pas mal d'heures), c'est qu'il y a des bouts qu'on pense avoir compris, et qui ne collent pas avec la réalité, et qui font obstacle pour comprendre le reste. Si tu nous disais ce que tu as compris partiellement, on pourrait t'aider à comprendre.

      - tu ne sais pas ce que font les lignes 14 à 16 ?  Prends quelques heures pour les mettre en commentaires et regarder ce que ça fait, ou plutôt ce que ça ne fait plus. Ca te dira leur rôle. A toi de faire ce boulot pour comprendre.

      Une troisième, dans les lignes 

       for (y = 1; y < 5 - x; y++) // calcul du nombre d'espacements dans chaque ligne
          {
              printf(" ");
          }

      le commentaire est faux.  Ce lignes ne calculent pas, elles font afficher un certain nombres d'espaces. C'est important d'être précis.

      -
      Edité par michelbillaud 22 mars 2018 à 9:27:26

      • Partager sur Facebook
      • Partager sur Twitter
        22 mars 2018 à 9:37:24

        Y : représente le nombre de décalage avec un espace " " afin de mettre Z étoiles  (*)

        X = 0 :   y = 5 et z = 1   ( un décalage de 5 espaces  et on place 1 étoile):_____*

        X = 1 :   y = 4 et z = 3   (......................)

        X = 2 :   y = 3 et z = 5 (...................)

        X = 3 :   y = 2  et z = 7 (......................)

        X = 4 :   y = 1 et z = 9   (.......................)

         complète le reste :p

        -
        Edité par bnsahab6 22 mars 2018 à 9:40:45

        • Partager sur Facebook
        • Partager sur Twitter
          22 mars 2018 à 11:51:58

          michelbillaud a écrit:

          Deux choses :

          - en général, quand on n'arrive pas à comprendre quelques chose (en y ayant passé pas mal d'heures), c'est qu'il y a des bouts qu'on pense avoir compris, et qui ne collent pas avec la réalité, et qui font obstacle pour comprendre le reste. Si tu nous disais ce que tu as compris partiellement, on pourrait t'aider à comprendre.

          - tu ne sais pas ce que font les lignes 14 à 16 ?  Prends quelques heures pour les mettre en commentaires et regarder ce que ça fait, ou plutôt ce que ça ne fait plus. Ca te dira leur rôle. A toi de faire ce boulot pour comprendre.

          Une troisième, dans les lignes 

           for (y = 1; y < 5 - x; y++) // calcul du nombre d'espacements dans chaque ligne
              {
                  printf(" ");
              }

          le commentaire est faux.  Ce lignes ne calculent pas, elles font afficher un certain nombres d'espaces. C'est important d'être précis.

          -
          Edité par michelbillaud il y a environ 1 heure

          - Tout d'abord merci pour la correction du commentaire, pour résumé je débute sur le langage C et je n'ai aucune notion sûre comment décortiquer un code source pour comprendre son fonctionnement. sachez monsieur que j'ai repris ce sujet sur le forum qui a été à la base traitée en 2013 et qui est résolu. je ne cherche pas juste a le résoudre mais comprendre un peut plus sur comment représenter des forme sur une console MS avec le langage C. je m'excuse de vous importuner avec ceci.

          - Ensuite ce que j'ai compris c'est qu'en représentant le triangle sur une surface imaginaire le besoin d'utiliser trois variables est justifié x, y, z mais j'ai essayé a plusieurs reprise de le dessiner juste avec ces trois variables pour moi c'est impossible on a impérativement besoin d'une quatrième variable pour stocker la hauteur exacte du triangle qu'on cherche à dessiner.

          for(y = 1;y < 5-x;y++) // nombre d'espacement dans chaque ligne. ici la hauteur est fixer a 5 ligne.
              {
                  printf(" ");
              }

          - Et pour finir je comprends le besoin d'imbriquer trois boucles "for" afin de traiter le dessin ligne par ligne et pouvoir placer les espaces et les étoiles aux bons endroits.

          * ma question est : est ce que c'est possible d'avoirs le même résultat rien qu'avec trois variables sans rien changer au code .

          - Sinon j'ai fait comme vous m'avez conseiller. j'en conclue que le programme a besoin que la variable z soit à deux nombres d'écart pour placer à chaque itérations deux étoiles après les espaces avant d'atteindre la hauteur exacte du triangle. "2x + 1"

          Veuillez excusez si ma question parait stupide.

          Merci.

          -
          Edité par Gr3y_Host 22 mars 2018 à 11:55:01

          • Partager sur Facebook
          • Partager sur Twitter
          La passion et les rêves sont comme le temps, rien ne peut les arrêter, et il en sera ainsi tant qu’il y aura des hommes prêts à donner un sens au mot « LIBERTE » – Gold D. Roger
            22 mars 2018 à 15:22:10

            La hauteur du triangle, c'est 5, et c'est écrit dans le commentaire.

            C'est une constante.

            • Partager sur Facebook
            • Partager sur Twitter

            langage c dessiné un triangle

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown