Foros del Web » Programando para Internet » PHP »

Triangulo de asteriscos

Estas en el tema de Triangulo de asteriscos en el foro de PHP en Foros del Web. Hola buenas! Tengo el siguiente ejercicio hecho en php, que hace un triangulo de asteriscos en base a las filas introducidas. Si se introducen 5 ...
  #1 (permalink)  
Antiguo 28/02/2011, 11:34
 
Fecha de Ingreso: febrero-2011
Mensajes: 7
Antigüedad: 13 años, 2 meses
Puntos: 0
Triangulo de asteriscos

Hola buenas!

Tengo el siguiente ejercicio hecho en php, que hace un triangulo de asteriscos en base a las filas introducidas.

Si se introducen 5 filas, seria asi:

*
**
***
****
*****

El codigo de esto es:

Código PHP:
<html>
 <body>
   <?php
    
   $n1
=$_GET[a];
   
   for (
$b=1;$b<=$n1;$b++)
   {for (
$a=1;$a<=$b;$a++)
   {echo 
'*';}
    echo 
'<br>';
   }

  
?>
 </body>
</html>
Ahora mi pregunta: ¿A partir de aqui, como podria hacerlo a la inversa?
Es decir, que se mostrara por ejemplo:

*****
****
***
**
*

Ando perdido :S
Muchas gracias!
  #2 (permalink)  
Antiguo 28/02/2011, 11:37
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 3 meses
Puntos: 128
Respuesta: Triangulo de asteriscos

Si hechas a correr el ciclo al reves??? como crees que te imprimira??


Logica men!!!!


Juaz cuando estudiaba igual lo tube que realizar pero en c++, primero cada uno por separado y finalmente un rombo completo con numeros , tareas no hago pero si te puedo ayudar orientandote, por ahora prueba realizando decrementacion .....
  #3 (permalink)  
Antiguo 28/02/2011, 11:49
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 3 meses
Puntos: 128
Respuesta: Triangulo de asteriscos

Compa no e gustan los mensajes privados para la otra sigue solicitando ayuda por aca, y como te comente es solo decrementar, mira si utilizas tu logica lo desarrollarias enseguida, es tan facil como comenzar con el valor maximo e ir decrementando de uno en uno :

Código PHP:
Ver original
  1. <html>
  2.  <body>
  3.    <?php
  4.    
  5.    $n1=$_GET[a];
  6.    
  7.    for ($b=1;$b<=$n1;$b++)
  8.    {for ($a=$n1;$a>=$b;$a--)
  9.    {
  10.        echo '*  ';
  11.    }
  12.     echo '<br>';
  13.    }
  14.  
  15.   ?>
  16.  </body>
  17. </html>

Dificil no?? ahi que esforzarse mas :) ahora realizalos que imprima asi:

*
***
*****
*******
********

eso te ayudara mucho
  #4 (permalink)  
Antiguo 28/02/2011, 11:51
 
Fecha de Ingreso: febrero-2011
Mensajes: 7
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Triangulo de asteriscos

Ok, muchisimas gracias y perdon por molestar
  #5 (permalink)  
Antiguo 28/02/2011, 11:52
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 3 meses
Puntos: 128
Respuesta: Triangulo de asteriscos

No es molestia compa, pero solo es una decision personal
  #6 (permalink)  
Antiguo 28/02/2011, 12:11
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 14 años, 6 meses
Puntos: 17
Respuesta: Triangulo de asteriscos

Menos mal que dio las gracias ya que le hiciste la tarea jejejeje, espero que te avise que calificación les pusieron.
__________________
Saludos.
  #7 (permalink)  
Antiguo 28/02/2011, 15:37
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Triangulo de asteriscos

Con str_pad, puedes quitar varias líneas
Código PHP:
Ver original
  1. <?php
  2. $num = 5;
  3. for($n=1; $n <= $num; $n++){
  4.     echo str_pad('', $n, '*') . '<br />';
  5. }
  6.  
  7. for($n=$num; $n > 0; $n--){
  8.     echo str_pad('', $n, '*') . '<br />';
  9. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:49.