Php triángulo de estrellas
Resuelto
capa57
Mensajes publicados
383
Estado
Miembro
-
ADil Ou7 -
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í)
*
**
***
****
*****
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
-
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. -
se permite hacer
nb = número de veces
estrella = *
eco nb X "estrella" -
Euh, no, eso te dará un error
no se puede multiplicar una variable int con una variable string ^^'
sería práctico, sin embargo. -
$size = 5;
for ($i = 0; $i < $size; $i++)
echo "* ";
I'm stuck here. -
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 ^^ -
He intentado eso pero no funciona
$taille = 5;
for ($i = 0; $i < $taille; $i++)
echo "*". "<br>";
for ($i = 0; $i < $taille; $i++)
echo "*"; -
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 '*'; -
-
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 "*"; } } -
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 />'; } -
eso me da esto: ***************
ya no entiendo nada aquí -
-
ah sí, maldita sea, lo olvidé...
un error de inatención
marcar como resuelto, hasta luego -
"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.
-