Partage
  • Partager sur Facebook
  • Partager sur Twitter

triangle isocèle en C#

Sujet résolu
    23 septembre 2021 à 16:05:35

    Bonjour, le programme que j'ai écrit ne marche pas. J'ai d'bord réussi à afficher les étoiles mais quand j'ai voulu ajouté les espaces, ça a rien afficher.

    L'énoncé:

    Afficher un triangle isocèle d’étoiles dont la hauteur est donnée. Parexemple : Hauteur : 3

    --*--

    -***-

    *****

    Ce que j'ai fait:

    using System;
    
    class ex
    {
        static void Main()
        {
          int nb;
          Console.WriteLine("hauteur?");
          nb=int.Parse(Console.ReadLine());
          int res=1;
          int esp=nb-1;
          Console.WriteLine("*");
          for (int i=1; i<=nb; i++){
            for (int j=1; j<=res; j++){
              for(int k=1; k<=esp;k--){
                Console.WriteLine(" ");
                esp=esp-1;
              }
            }
              Console.WriteLine("*");
              Console.WriteLine("");
              res=res+2;
          }
        }
    }
    



    • Partager sur Facebook
    • Partager sur Twitter
      23 septembre 2021 à 16:10:27

      WriteLine, comme son nom l'indique,  écrit une ligne en partant de la gauche et passe à la ligne suivante

      Write pourrait correspondre (elle écrit sans faire de passage à la ligne), mais une autre façon est de créer ta chaine correspondant à une ligne puis l'afficher avec WriteLine avant de passer à la ligne suivante

      • Partager sur Facebook
      • Partager sur Twitter
        24 septembre 2021 à 10:57:11

        umfred a écrit:

        WriteLine, comme son nom l'indique,  écrit une ligne en partant de la gauche et passe à la ligne suivante

        Write pourrait correspondre (elle écrit sans faire de passage à la ligne), mais une autre façon est de créer ta chaine correspondant à une ligne puis l'afficher avec WriteLine avant de passer à la ligne suivante

        Du coup ça me donne ça , mais le problème c'est que quand je l'execute ça ne s'arrête pas.
        using System;
        
        class affEtoiles2
        {
            static void Main()
            {
              int nb;
              Console.WriteLine("hauteur?");
              nb=int.Parse(Console.ReadLine());
              int res=1;
              int esp=nb-1;
              for (int i=1; i<=nb; i++){
                for (int j=1; j<=res; j++){
                  for(int k=1; k<=esp;k--){
                    Console.Write(" ");
                    esp=esp-1;
                  }
                }
                  Console.Write("*");
                  Console.WriteLine("");
                  res=res+2;
                  for(int k=1; k<=esp;k--){
                    Console.Write(" ");
                    esp=esp-1;
                  }
              }
            }


        • Partager sur Facebook
        • Partager sur Twitter
          24 septembre 2021 à 15:58:14

          pour k-- ligne 14 et ligne 22? un for k=1 tant k<esp avec un pas de k--, tu vas rester longtemps inférieur à esp
          • Partager sur Facebook
          • Partager sur Twitter

          triangle isocèle en C#

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          • Editeur
          • Markdown