PHP - escalera de asteriscos con for

 
Vista:
sin imagen de perfil
Val: 80
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

escalera de asteriscos con for

Publicado por Alejandro (37 intervenciones) el 08/04/2020 19:47:33
Algoritmo que lea un número entero (altura) y a partir de él cree una escalera invertida de
asteriscos con esa altura. Deberá quedar asi, si ponemos una altura de 5:

He conseguido hacer esta escalera pero al revés, pegando los asteriscos a la izquierda y tiene que quedar como en la foto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
if (isset($_POST['en'])){
  $num2=$_POST['i'];
  for ($b=1; $b <= $num2 ; $b++) {
    for ($a=$num2; $a >= $b; $a--) {
      echo "*   ";
    }
  echo "<br>";
  }
}
?>
 
<form method="post" action="pract5.php">
<label>Escribe un número entero: </label>&nbsp;
<input type="text" name="i">
&nbsp;&nbsp;
<input type="submit" name="en" value="enviar">
</form>

Captura
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 80
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

escalera de asteriscos con for

Publicado por Alejandro (37 intervenciones) el 11/04/2020 13:44:01
Es que tiene que ser sin función...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

escalera de asteriscos con for

Publicado por joel (1269 intervenciones) el 11/04/2020 15:25:01
Hola Alejandro, sacalo de la función, no hay problema!!!

Para tu código y copiando un poco el código de katas...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
if (isset($_POST['en'])){
    $num2=$_POST['i'];
    for ($b=1; $b <= $num2 ; $b++) {
        echo str_repeat(" ", $num2-$b).str_repeat("*", $b)."<br>";
    }
}
?>
 
<form method="post" action="x.php">
<label>Escribe un número entero: </label>&nbsp;
<input type="text" name="i">
&nbsp;&nbsp;
<input type="submit" name="en" value="enviar">
</form>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

escalera de asteriscos con for

Publicado por Alejandro (37 intervenciones) el 11/04/2020 17:57:47
Muchas gracias Joel, ¿pero como sería sin función?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-2
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

escalera de asteriscos con for

Publicado por joel (1269 intervenciones) el 11/04/2020 20:11:56
Es el código que te he puesto es sin una función!!

Si te refieres a no utilizar funciones como str_repeat(), recuerda que for() también es una función.

Si lo que quieres es que se haga solo con la función for(), puedes hacerlo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
if (isset($_POST['en'])){
    $num2=$_POST['i'];
    echo "<pre>";
    for ($b=1; $b <= $num2 ; $b++) {
        for ($j=0; $j<=$b; $j++) {
            echo " ";
        }
        for ($j=0; $j<=$num2-$b; $j++) {
            echo "*";
        }
        echo "\n";
    }
    echo "</pre>";
}
?>
 
<form method="post" action="x.php">
<label>Escribe un número entero: </label>&nbsp;
<input type="text" name="i">
&nbsp;&nbsp;
<input type="submit" name="en" value="enviar">
</form>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

escalera de asteriscos con for

Publicado por Alejandro (37 intervenciones) el 11/04/2020 20:58:05
Muchísimas gracias Joel, es que todavía no he dado la función str_repeat().
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar