Ir al contenido


Foto

from + arrays


  • Por favor identifícate para responder
3 respuestas en este tema

#1 juansecarvajal93

juansecarvajal93

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 21 septiembre 2011 - 11:59

Hola, necesito almacenar datos en un arreglo segun el largo del mismo antes dado, despues arrojar el numero mayor y menor, tambien el promedio de los numeros almacenados.
(primera pagina="primero.php)
-----------------------------------
<head>
</head>
<body>
<body bgcolor="#3399CC">
<form action="introduce.php" method="post">
<center>Por favor, indique que cantidad de numeros va a introducir<br /><br /> <input type="text" name="TxtNum" /><br />
<br /><input type="submit" value="Enviar" title="BtnEnviar" /></center>
</form>
</body>
</html>
--------------------------------
(segunda pagina="introduce.php")
---------------------------------------

<?
$limite=$_POST["TxtNum"];
?>
<form action="mayor.php" method="post">
<?
for ($i=0;$i<$limite;$i++)
{
echo "Introduce el num de la posicion ".($i+1)." --> ";?><input type="text" name="<? $arreglo[$i]?>"><br/>
<? } ?>
<hr><br>
<input type="submit" value="Enviar" title="BtnEnviar">
---------------------------------------------------------
(tercera pagina = "mayor.php)
-----------------------------------------------------
<?
$numeros=$_POST["$arreglo"];
if (count $numeros >= 1)
{
if($numeros[0]>=$numeros[1])
{
$mayor=$numeros[0];
$menos=$numeros[1];
}
else
{
$mayor=$numeros[1];
$menos=$numeros[0];
}
$prom=$numeros[0]+$numeros[1];
for ($i=2;$i<=count $numeros;$i++)
{
if($numeros[$i]>=$mayor)
{
$mayor=$numeros[$i];
}
if ($numeros[$i]<=$menor)
{
$menor=$numeros[$i];
}
$prom=$prom+$numeros[$i];
}
}
if (count $numeros = 1)
{
if ($numeros[0]==$numeros[1])
{
echo "Los dos numeros ingresados son iguales (".$numeros[0].") y el promedio es ".($prom/((count $numeros)+1));
}
}
if (((count $numeros <> 1)&&(count $numeros <> 0))||($numeros[0]<>$numeros[1]))
{
echo "El numero mayor es ".$mayor." y el numero menor es ".$menor." y el prom es ".($prom/((count $numeros)+1));
}
if (count $numeros=0)
{
echo "Se ha introducido un solo numero --> (".$numeros[0].") y por lo tanto el promedio es el mismo";
}
?>


---------------------------------

Por favor solicito su ayuda
  • 0

#2 cesar_cz

cesar_cz

    Advanced Member

  • Moderadores
  • PipPipPip
  • 919 mensajes
  • LocationChile

Escrito 22 septiembre 2011 - 12:12

Hola juansecarvajal93 buena tarea te pusieron jajaaja...me hace acordarme de mis tiempos de estudiante, con ejercicios rebuscadísimos como éste..

Pero buen manos en el código mira según el requerimiento que expones, no sería necesario crear el segundo formulario, ya que simplemente podrías hacer ésto:

//llenas el arreglo
for ($i=0;$i<$_POST["TxtNum"];$i++)
{
    $arreglo[$i]=$i;
}

//el último registro sería así

echo $arreglo[count($arreglo)];//ya que con count obtienes el largo del arreglo, es decir, el último índice

//el primer registro

echo $arreglo[0];

Para obtener los valores que requieres revisa estas funciones desde la documentación oficial de PHP:

http://php.net/manua...ray.sorting.php

saludos desde Santiago de Chile...



  • 0

#3 juansecarvajal93

juansecarvajal93

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 22 septiembre 2011 - 12:20

Realice un programa que llene un vector con la cantidad de
números deseada por el usuario. El programa me debe informar
cual es el mayor, cual es el menor, y el promedio de los valores
cargados...

aun no me da... el problema esta en la tercera pagina... y es --> -unexpected T_VARIABLE, expecting ';' in C:\AppServ\www\Informatica II\Arrays\Primero\mayor.php on line 2
  • 0

#4 cesar_cz

cesar_cz

    Advanced Member

  • Moderadores
  • PipPipPip
  • 919 mensajes
  • LocationChile

Escrito 22 septiembre 2011 - 12:22

Fíjate que es un error de sintaxis:

$numeros=$_POST["$arreglo"];
if (count ($numeros) >= 1)//nótese que te faltaban los paréntesis de la función count

saludos..

  • 0




IP.Board spam blocked by CleanTalk.