Php triángulo de estrellas

Resuelto
Hola,
estoy buscando hacer un triángulo con el carácter * utilizando un bucle en función de un número dado en una variable $talla (ejemplo con 5 aquí)

*
**
***
****
*****
Configuración: Windows XP Internet Explorer 6.0

15 respuestas

  1. "DSL" est un acronyme qui peut signifier "désolé" en langage Internet. Cela s'utilise souvent dans les messages et conversations en ligne pour exprimer des excuses de manière informelle.
    0
    1. ah sí, maldita sea, lo olvidé...
      un error de inatención

      marcar como resuelto, hasta luego
      0
      1. eso me da esto: ***************
        ya no entiendo nada aquí
        0
        1. Oups... olvidé el salto de línea cada vez...

          tamaño = 5; para ($i = 1; $i <= $tamaño; $i++) { para ($k = 1; $k <= $i; $k++) { eco "*"; } eco '<br />'; }
          0
          1. Hola

            Me sorprendería que eso funcione mucho mejor :)

            Si tu bucle interior utiliza la misma variable que el bucle exterior, el bucle exterior no sirve para nada.
            Si además ambos llegan hasta $tamaño, siempre dibujarás 5 estrellas....

            $tamaño = 5; for ($i = 1; $i <= $tamaño; $i++) { for ($k = 1; $k <= $i; $k++) { echo "*"; } }
            0
            1. bueno, en ese caso solo me muestra esto

              *****
              0
              1. Te dije que no olvidaras las { y }, si no están en tu código es normal



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


                por lo tanto la lógica no es realmente la...

                - tus bucles de 1 a 5 porque tienes 1 estrella y quieres 5 y no de 0 a 4
                - no olvides las llaves, de lo contrario, tus bucles no sirven de nada
                - coloca bien tu echo '*';
                0
                1. He intentado eso pero no funciona

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


                2. La primera bucle servirá para crear las 5 líneas 5líneas -> 5estrellas

                  La segunda bucle creará el número correcto de estrellas

                  En resumen, haces la misma bucle, pero esta vez pones tu carácter '*'

                  Sin olvidar las {} en cada bucle ^^
                  0
                  1. $size = 5;
                    for ($i = 0; $i < $size; $i++)
                    echo "* ";

                    I'm stuck here.
                    0
                    1. ```php <?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 "
                      "; $es--; $et+=2; } ```
                      0
                  2. Euh, no, eso te dará un error

                    no se puede multiplicar una variable int con una variable string ^^'

                    sería práctico, sin embargo.
                    0
                    1. se permite hacer
                      nb = número de veces
                      estrella = *

                      eco nb X "estrella"
                      0
                      1. No veo dónde te bloqueas, además de que no veo la utilidad después, no juzgo, pero hablaste de bucle.

                        Si pensaste en eso, no veo cuál es tu problema, la realización es bastante simple.

                        - defines una variable tamaño (número de estrellas) si quieres que la generación sea dinámica (controlada por un formulario, por ejemplo).

                        - creas un bucle de 1 a $tamaño que se incrementa de 1 cada vez (para las líneas).

                        - colocas $tamaño número de estrellas en cada línea en función de $tamaño, así que necesitarás hacer un bucle de 1 a $tamaño nuevamente para el número de estrellas (echo '*';).

                        y al final tendrás tu triángulo.

                        Esa es la idea básica (un esbozo de algoritmo muy, muy simple xd).

                        Te toca hacer el resto.
                        0