Php triangle étoiles

Résolu
Bonjour,
je cherche a réaliser un triangle avec un charactère * à l'aide d'une boucle en fonction d'un nombre donné dans une variable $taille (exemple avec 5 ici)

*
**
***
****
*****
Configuration: Windows XP Internet Explorer 6.0

15 réponses

  1. ba je ne vois pas ou tu bloque mise a par que je ne vois pas l'utilister apres bon je juge pas mais tu a parler de boucle .

    si tu as penser a ca je ne vois pas ou est ton probleme la realisation est toute conne

    - tu defini une varriable taille (nombre d'etoil) si tu veu ue la generation soit dynamique (piloter par un fomulaire par exemple)

    -tu creer une boucle de 1 a $taille qui s'increment de 1 a chaque foi (pour les lignes)

    - tu place $taille nombre d'etoile sur chaque ligne en fonction de $taille donc la tu devra faire une boucle de 1 a $taille encore une foi pour le nombre d'etoile (echo '*';)

    et au final tu aura ton triangle

    Ca s'est l'idée de base (une ébauche d'algo tres tres franciser xd)

    a toi de faire la suite
    0
    1. on a le droit de faire
      nb = nombre de fois
      étoile = *

      echo nb X "étoile"
      0
      1. Euh nan ca va te sortir une erreur

        on ne peu pas multiplier une varriable int avec une varriable string ^^'

        ca serais pratique pourtant
        0
        1. $taille = 5;
          for ($i = 0; $i < $taille; $i++)
          echo "* ";

          jsuis bloqué là
          0
          1. <?php

            $l=5;
            $es=$l-1;
            $et=1;

            for($i=0 ; $i<$l ; $i++)
            {
            for($k=1 ; $k<=$es ; $k++)
            {
            echo "";
            }

            for($b=1 ; $b<=$et ; $b++)
            {

            echo "*";
            }
            echo "<br/>";
            $es--;
            $et+=2;

            }
            0
        2. tu as oublier une boucle

          la 1ere boucle servira pour creer les 5 ligne 5ligne -> 5etoile

          la seconde boucle a creer le bon nombre d'etoile

          en gros tu refait la meme bouche ou ce coups ci tu mettra ton checho '*',

          sans oublier les {} sur chaque bouche ^^
          0
          1. j'ai essayé ça mais ça fonctionne pas

            $taille = 5;
            for ($i = 0; $i < $taille; $i++)
            echo "*". "<br>";
            for ($i = 0; $i < $taille; $i++)
            echo "*";
            0
            1. <?php
              echo("sat cv");
              $a=10;
              for($i=0;$i<$a;$i++)
              {
              for($j=0;$j<$i;$j++)
              {
              echo("*");
              }
              echo "<br>";
              }

              ?>
              0
          2. je t'ai dit de pas oublier les { et }, si s'est pas dans ton code s'est normal

            $taille = 5; 
            for ($i = 1; $i <= $taille; $i++) 
            { 
                 for ($i = 1; $i <= $taille; $i++) 
                 {
                      echo "*";
                 }
            }


            donc la logique est pas vraiment la ....

            -tes boucle de 1 a 5 parce que tu as 1 etoile et tu en veu 5 et pas 0 a 4
            - n'oublie pas les accolade sinon toes boucle servent a rien
            - place bien ton echo '*';
            0
            1. ben dans ce cas là il ne m'affiche que ça

              *****
              0
              1. Bonjour

                Ça m'étonnerait que ça marche beaucoup mieux :)

                Si ta boucle intérieure utilise la même variable que la boucle extérieure, ta boucle extérieure ne sert à rien
                Si de plus les deux vont jusqu'à $taille, tu vas toujours dessiner 5 étoiles....

                $taille = 5; 
                for ($i = 1; $i <= $taille; $i++) 
                { 
                     for ($k = 1; $k <= $i; $k++) 
                     {
                          echo "*";
                     }
                }
                0
                1. Oups... oublié le saut de ligne à chaque fois...

                  taille = 5; 
                  for ($i = 1; $i <= $taille; $i++) 
                  { 
                       for ($k = 1; $k <= $i; $k++) 
                       {
                            echo "*";
                       }
                       echo '<br />';
                  }
                  0
                  1. ça me donne ça : ***************
                    je comprends plus rien là
                    0
                    1. ah oui merde je l'ai oublier celui la ...
                      une erreur d'inatiention

                      marque comme resolue a plus
                      0