PHP - problema con una matriz

   
Vista:

problema con una matriz

Publicado por andres (4 intervenciones) el 14/04/2009 20:38:13
señores buen dia.

resulta que estoy iniciando en este mundo de la programacion y tengo un ejercicio que me esta dando la pela. el ejercicio consiste en crear una matriz que contenga 4 notas de 10 alumnos, y no he podido hacer que esta vaina me funcione, las notas las estoy generando de modo aleatorio de 1 a 5. les muestro mi pequeño codigo a ver si alguno de ustedes me echa una mano.

les agradezco de antemano por su valiosa colaboracion.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Notas</title>
</head>
<body>
<?
mt_srand(time());
$notas=array();
for($i=0;$i<4;$i++)
{
for ($j=0;$j<10;$j++)
{
if ($i=0)
{
switch ($j)
{
case 0:
$notas[$i][$j]="julian";
break;
case 1:
$notas[$i][$j]="andres";
break;
case 2:
$notas[$i][$j]="pedro";
break;
case 3:
$notas[$i][$j]="natalia";
break;
case 4:
$notas[$i][$j]="andrea";
break;
case 5:
$notas[$i][$j]="julio";
break;
case 6:
$notas[$i][$j]="aristides";
break;
case 7:
$notas[$i][$j]="ruben";
break;
case 8:
$notas[$i][$j]="carlos";
break;
case 9:
$notas[$i][$j]="mateo";
break;
}
}
else
{
$notas[$i][$j]= mt_rand(1,5);
}
}
}

echo "<center><table border='1'><caption align='top'><b> Notas de los Alumnos</b></caption>";

for($i=0;$i<4;$i++)
{
for($j=0;$j<10;$j++)
{
echo "<td width='30'>".$notas[$i][$j]."</td>";
}
echo "</tr>";
}
echo "</table></center>";

?>
</body>
</html>
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

RE:problema con una matriz

Publicado por Gonzalo (3 intervenciones) el 15/04/2009 06:59:59
Amigo creo que la manera de hacerlo es con un arreglo bidimencional ej:

$notas = array(array (nombre=>"Luis",
nota1 =>rand(1,5),
nota2 => rand(1,5)

),
array (nombre=>"Claudio",
nota1 =>rand(1,5),
nota2 => rand(1,5),
)

etc.................
);

Despues con un bucle reproducirlo, creo que eso responde a tu pregunta,
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

RE:problema con una matriz

Publicado por Eduardo S (20 intervenciones) el 15/04/2009 17:49:02
corri tu codigo y me mostro una matriz que creo que hace lo que quieres
solo le debes corregir el IF agregarle otro = ....

if ($i=0) ======> if ($i==0)

bueno y corregir otra cosa que tienes que es que muestra solo 3 notas. verifica los FOR
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

RE:problema con una matriz

Publicado por andres (4 intervenciones) el 15/04/2009 21:55:23
Eduardo, no se que pasa pero a mi no me quiere funcionar, le cambie lo que me dijiste y ahora me muestra otro error:

Fatal error: Maximum execution time of 60 seconds exceeded in C:xampphtdocs areas otas.php on line 55.

mira el codigo de nuevo

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Notas</title>
</head>
<body>
<?
srand(time());
$notas=array();
for($i=0;$i=4;$i++)
{
for ($j=0;$j<10;$j++)
{
if ($i==0)
{
switch ($j)
{
case 0:
$notas[$i][$j]="julian";
break;
case 1:
$notas[$i][$j]="andres";
break;
case 2:
$notas[$i][$j]="pedro";
break;
case 3:
$notas[$i][$j]="natalia";
break;
case 4:
$notas[$i][$j]="andrea";
break;
case 5:
$notas[$i][$j]="julio";
break;
case 6:
$notas[$i][$j]="aristides";
break;
case 7:
$notas[$i][$j]="ruben";
break;
case 8:
$notas[$i][$j]="carlos";
break;
case 9:
$notas[$i][$j]="mateo";
break;
}
}
else
{
$notas[$i][$j]= rand(1,5);
}
}
}

echo "<center><table border='1'><caption align='top'><b> Notas de los Alumnos</b></caption>";

for($i=0;$i<4;$i++)
{
for($j=0;$j<10;$j++)
{
echo "<td width='30'>".$notas[$i][$j]."</td>";
}
echo "</tr>";
}
echo "</table></center>";
?>
</body>
</html>
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