Php triángulo de estrellas

Resuelto
capa57 Mensajes publicados 383 Estado Miembro -  
 ADil Ou7 -
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. Tsunami Chups Mensajes publicados 237 Estado Miembro 12
     
    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
  2. capa57 Mensajes publicados 383 Estado Miembro 13
     
    se permite hacer
    nb = número de veces
    estrella = *

    eco nb X "estrella"
    0
  3. Tsunami Chups Mensajes publicados 237 Estado Miembro 12
     
    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
  4. capa57 Mensajes publicados 383 Estado Miembro 13
     
    $size = 5;
    for ($i = 0; $i < $size; $i++)
    echo "* ";

    I'm stuck here.
    0
    1. bonita14 Mensajes publicados 1 Estado Miembro
       
      ```php "; $es--; $et+=2; } ```
      0
  5. Tsunami Chups Mensajes publicados 237 Estado Miembro 12
     


    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
  6. capa57 Mensajes publicados 383 Estado Miembro 13
     
    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. ADil Ou7
       
      ```php "; } ?> ```
      0
  7. Tsunami Chups Mensajes publicados 237 Estado Miembro 12
     

    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
  8. capa57 Mensajes publicados 383 Estado Miembro 13
     
    bueno, en ese caso solo me muestra esto

    *****
    0
  9. le père
     
    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
  10. le père
     
    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
  11. capa57 Mensajes publicados 383 Estado Miembro 13
     
    eso me da esto: ***************
    ya no entiendo nada aquí
    0
  12. capa57 Mensajes publicados 383 Estado Miembro 13
     
    ¡Ah, gracias! :) Era el br
    0
  13. Tsunami Chups Mensajes publicados 237 Estado Miembro 12
     
    ah sí, maldita sea, lo olvidé...
    un error de inatención

    marcar como resuelto, hasta luego
    0
  14. sss
     
    "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