Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Organizar matriz generada por teclado

Estas en el tema de Organizar matriz generada por teclado en el foro de PHP en Foros del Web. Hice un script para generar una matriz n x n por teclado. El programa pide un numero para filas y otro para columnas. En general ...
  #1 (permalink)  
Antiguo 01/04/2016, 20:45
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 2 meses
Puntos: 2
Organizar matriz generada por teclado

Hice un script para generar una matriz n x n por teclado. El programa pide un numero para filas y otro para columnas. En general funciona pero al tratar de organizar los inputs en forma de matriz no obtengo el resultado esperado. Alguien me colabore por favor

Código PHP:
<html>
    <title></title>
    <head></head>
    <body>
<br></br>
        <form name="ejer2" method="post">
            <b>Digite la cantidad de Filas y columnas a generar:</b>
            <br></br>
            Filas: <input type="text" name="filas"></input>
            Columnas: <input type="text" name="columnas"></input>
            <input type="submit" name="enviar" value="Enviar"></input>
        </form>

<?php 

if ($_POST['enviar']){
    echo 
"<table border>";
    for(
$i=0;$i<$_POST[filas];$i++){
        echo 
"<tr>F<input type='text' name='filas'></tr>";
            }
            
    for(
$j=0;$j<$_POST[columnas];$j++){            
        echo 
"<td>C<input type='text' name='columnas'></td>";
    }
echo 
"</table>";
    
}
//cierra boton enviar

?>
        
    </body>
    
</html>
  #2 (permalink)  
Antiguo 02/04/2016, 03:06
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Organizar matriz generada por teclado

Código PHP:
Ver original
  1. <?php  
  2.  
  3. if ($_POST['enviar']){
  4.     echo "<table border>";
  5.     for($i=0;$i<$_POST[filas];$i++){
  6.         echo "<tr>"; // el tr no lo cerramos hasta haber anidado los td
  7.             // dentro de la etiqueta tr no debe de haber nada que no sea un td
  8.            //<input type='text' name='filas'>  
  9.             //} el for tampoco lo cerramos
  10.              
  11.     for($j=0;$j<$_POST[columnas];$j++){            
  12.         echo "<td>".$i." - ".$j."<input type='text' name='columnas'></td>";
  13.     }
  14.  
  15.  
  16. //Cerramos aquí el primer for y el tr
  17. echo "</tr>";
  18. }
  19. echo "</table>";
  20.      
  21. }//cierra boton enviar
  22.  
  23. ?>

Última edición por xerifandtomas; 02/04/2016 a las 03:20
  #3 (permalink)  
Antiguo 02/04/2016, 05:50
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: Organizar matriz generada por teclado

Gracias por tu ayuda, una pregunta mas. En este caso el input <input type='text' name='filas'> desaparece segun veo lo que me corregiste. es decir que con el solo campo <input type='text' name='columnas'> quedaria generada la matriz?
  #4 (permalink)  
Antiguo 02/04/2016, 11:42
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Organizar matriz generada por teclado

Puedes explicar mejor que es realmente lo que quieres obtener?
Por qué con tu ejemplo entiendo que sólo pretendes generar una cuadrícula o tabla html que no deja de ser una matriz, y en esos casos los input son prescindible si solo pretendes crear la representación.

Código PHP:
Ver original
  1. <?php
  2.     echo '<table border="1">';
  3.     for($i=0;$i<$_POST[filas];$i++){
  4.         echo '<tr>';
  5.        for($j=0;$j<$_POST[columnas];$j++){echo '<td>'.$j.' - '.$i.'<td>';  }
  6.        echo '</tr>';
  7.     }
  8. echo '</table>';
  9. ?>
  #5 (permalink)  
Antiguo 02/04/2016, 11:59
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Organizar matriz generada por teclado

prueba cambiarlo asi:

Código PHP:
Ver original
  1. if ($_POST['enviar']){
  2.     echo "<table border>";
  3.     for($i=0;$i<$_POST[filas];$i++){
  4.         echo "<tr>";
  5.        
  6.             for($j=0;$j<$_POST[columnas];$j++){            
  7.         echo "<td>C<input type='text' name='columnas'></td>";
  8.                 }
  9.        
  10.         echo "</tr>";    
  11.  
  12.         }
  13.              
  14.      
  15. echo "</table>";
  16.      
  17. }//cierra boton enviar

y si queda generada creo que como la necesitas es decir la cantidad de filas necesarias y las columnas con los inputs
__________________
[email protected]
HITCEL
  #6 (permalink)  
Antiguo 02/04/2016, 22:37
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: Organizar matriz generada por teclado

Me dio desultado gracias a su ayuda. estoy tratando de listar los numeros de la diagonal secundaria de una matriz 4x4 pero solo me salen dos digitos en el resultado y ademas no coinciden con los que aparecen en mi diagonal secundaria. Gracias por su colaboracion

Código PHP:
Ver original
  1. echo "<table border width='300' height='200'>";
  2.     for($i=0;$i<$_POST[filas];$i++){
  3.         echo "<tr>";
  4.     for($j=0;$j<$_POST[columnas];$j++){            
  5.         $matriz=rand(0,9);
  6.         echo "<td>$matriz</td>";
  7.         if($i+$j==$_POST[filas]+1){
  8.             echo "$matriz";
  9.         }
  10.     }//cierra for columnas
  11. echo "</tr>";
  12. }//cierra for filas
  13. echo "</table>";
  #7 (permalink)  
Antiguo 03/04/2016, 20:32
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: Organizar matriz generada por teclado

Comparto la correccion que se realizo para poder generar los elementos almacenados en la diagonal secundaria:

Código PHP:
Ver original
  1. echo "<b>MATRIZ DIAGONAL SECUNDARIA: (La suma de los indices siempre sera igual)</b>  ";
  2.     echo "<table border width='400' height='200'>";
  3.     for($i=0;$i<$_POST[filas];$i++){
  4.         echo "<tr>";
  5.     for($j=0;$j<$_POST[columnas];$j++){            
  6.         $matriz=rand(0,9);
  7.         echo "<td>$matriz</td>";
  8.         if($i+$j==$_POST[filas]-1){
  9.             echo "$matriz";
  10.         }
  11.     }//cierra for columnas
  12. echo "</tr>";
  13. }//cierra for filas
  14. echo "</table>";

Etiquetas: html, matriz, organizar, teclado
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 18:53.