FUNCIÓN BUSCA_EN_VECTOR
Publicado por SILVIA (80 intervenciones) el 06/04/2015 22:50:43
Necesito ayuda con otro ejercicio, en este caso es una función, se trata de implementar la función array_search, es decir, buscar un valor determinado en un array y devolver el índice correspondiente en caso de éxito, sin utilizar dicha función.
El problema es que cuando encuentra el valor en el array, me dice que está en una posición del array que no existe.
Gracias de antemano.
El problema es que cuando encuentra el valor en el array, me dice que está en una posición del array que no existe.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function BUSCA_EN_VECTOR ($vector, $item){ // Creamos la función BUSCA_EN_VECTOR a la que le pasamos como parámetro $vector y $item
for ($i=0; $i<count($vector); $i++){ // Inicialización, condición_bucle, actualización
if ($vector[$i]==$item){ // $i la posición $i de $vector es igual a $item
return true; // Devuelve verdadero
}
}
return false; // $i no devuelve falso
}
// Inicio del código
$n=rand(1,20); // Damos a $n un valor aleatorio entre 1 y 20
$vector=array(); // Inicializamos el array
for ($i=0; $i<=$n; $i++){ // Inicialización, condición_bucle, actualización
$vector[$i]=rand(1,20); // La posición $i de $vector es igual a un número aleatorio entre 1 y 20
}
echo "<pre>";
print_r($vector); // Mostramos por pantalla $vector
$NumeroABuscar=rand(1,50); // Damos a $NumeroABuscar un valor aleatorio entre 1 y 50
if(BUSCA_EN_VECTOR($vector,$NumeroABuscar)){ // Si el número $NumeroABuscar está en $vector
echo "El numero ".$NumeroABuscar." esta en el vector en la posición $i\n"; // Texto que se mostrará por pantalla si el número está en el vector en la posición $i
}else{
echo "El numero ".$NumeroABuscar." NO esta en el vector\n"; // Texto que se mostrará por pantalla si el número no está en el vector
}
Gracias de antemano.
Valora esta pregunta


0