No me funciona y "aseguraria que está bien"

Blash

Funcion PHP

Está funcion simple, para calcular el máximo y el mínimo de un vector que previamente llamo. Me calcula bien el mínimo, y el máximo que es igual , pero con el > en lo de la comparación, pues no me funciona :\ me coje otro valor que no es el máximo. Ya no se que hacer, lo he probado todo. A ver si vosotros veis cosas que yo no veo :D

function maxmin ($x)
{



$max = $x[0];
for ($i=0;$i<4;$i++)
{
	
		if ($x[$i] > $max)
		
			$max = $x[$i];

			
}

$min = $x[0];
for ($i=0;$i<4;$i++)
{

		if ($x[$i] < $min)
			$min = $x[$i];
}

echo "máximo: ",$max ," ","mínimo: ",$min ,"<p>";

}

Kansei

suponiendo que tenga bien definido el array:

for ($i=0;$i<=4;$i++)

aunque claro está, tb puedes usar esto:

function KK($vector) {

sort ($vector);
$Max = $vector[0];
$Min = $vector[count($vector)]; 

echo "máximo: ",$Max ," ","mínimo: ",$Min ,"<p>";

}

no lo he probado, si falla, lo siento

IS4kO

Este no falla :) mas simple impossible

$numeros = array(1, 9, 3, 4);

$numelentos = count($numeros);

$x=$numeros[0];

for ($i=0; $i < $numelentos; $i++)
{
   if ($x<$numeros[$i])
   {
      $x=$numeros[$i];
   }
}
echo "Maximo: $x ";

X acaba valiendo 9 :)

Whose

Prueba con la funcion min() y max()
http://es.php.net/manual/es/function.min.php
http://es.php.net/manual/es/function.max.php

Abreu

Pos funciona perfectamente... XD

Mira a ver si le pasas bien el vector x porque ami me va perfectamente tal y como la has escrito.

Le paso:

maxmin(array(12,3,2,34));

guner

<?php
function maxmin ($x) {
&nbsp; &nbsp;
&nbsp; &nbsp; $max = $x[0];
&nbsp; &nbsp; for ($i=0; $i <= 4; $i++) {
&nbsp; &nbsp; &nbsp; &nbsp; if ($x[$i] > $max) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $max = $x[$i];
&nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; }
&nbsp; &nbsp; $min = $x[0];
&nbsp; &nbsp; for ($i=0; $i <= 4; $i++) {
&nbsp; &nbsp; &nbsp; &nbsp; if ($x[$i] < $min) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $min = $x[$i];
&nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; }
&nbsp; &nbsp; echo "máximo: " . $max . "; " . "mínimo: ".$min;
}

maxmin (array (3, -3, 6, 15, 30));

// Devuelve: máximo: 30; mínimo: -3
// De todas formas funcionaba perfectamente con tu código

?>

Blash

Ya se donde esta el problema. Está en que all formarse el array de un texto.txt , quedará como un string , entonces al hacer el bucle, en vez de comparar el 25 con otro numero, compara el 2, y luego el 5. Me entendeis?

Por esa razon, si pongo un echo $x[$i] , me dice que vale 25.

y si pongo

max = echo $x[$i]

echo $max , me dice que vale 2 .

Nemox

y por qué recorres el array dos veces?

Usuarios habituales

  • Nemox
  • Blash
  • guner
  • Abreu
  • Whose
  • IS4kO
  • Kansei