PHP - FUNCIÓN INSERTA VECTOR

   
Vista:

FUNCIÓN INSERTA VECTOR

Publicado por Silvia (80 intervenciones) el 26/05/2015 19:24:40
Función definida por el usuario. Elimina el elemento número n del vector $v. elimina_n($n,$v).

V1.

1
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )

V2.
1
Array ( [0] => 2 [1] => 2 [2] => 4 [3] => 4 )

Eliminar $indice4.

1
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )

Función definida por el usuario. Inserta un vector v1 en otro vector v2 en la posición pos de v2. inserta_vector(\$v1, $v2, 4).

Así queda:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => Array
        (
            [0] => 2
            [1] => 2
            [2] => 4
            [3] => 4
        )
 
    [5] => 5
)
Así debería quedar:

1
2
3
4
5
6
7
8
9
10
11
Array
( [0] => 1
  [1] => 2
  [2] => 3
  [3] => 4
  [4] => 2
  [5] => 2
  [6] => 4
  [7] => 4
  [8] => 5
)

Código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
 
function eliminar_n($n, $v){
$j=0;
    for($i=0;$i<(count($v));$i++){
    if($i!=$n){
        $nuevoArray[$j]=$v[$i];
	$j++;
    }
    }
    return $nuevoArray;
}
function inserta_vector($v1,$v2,$pos){
	if($pos>count($v1) || $pos<=0){
		return false;
	}
		if($pos==count($v1)){
			$v2[]=$v1;
			return $v2;
	}
	$NuevoArray=array();
	for($i=0;$i<(count($v1));$i++){
		if($i==$pos){
			$NuevoArray[]=$v2;
}
			$NuevoArray[]=$v1[$i];
	}
			return $NuevoArray;
}
 
echo "Función definida por el usuario. Elimina el elemento número n del vector \$v. elimina_n(\$n,\$v).

$v2=array(2,2,4,4); 
$v1=array(1,2,3,4,5); 
$pos=0; 
echo  "V1.<br><br>";
print_r($v1); 
echo "<br><br>";
echo "V2.<br><br>";
print_r($v2); 
$indice4=4; 
echo "Eliminar \$indice4.<br>";
print_r(eliminar_n($indice4, $v2)); 
echo "<br><br>";
echo "Función definida por el usuario. Inserta un vector v1 en otro vector v2 en la posición pos de v2. inserta_vector($v1,$v2,$pos).<br><br>";
echo "<pre>";
print_r(inserta_vector($v1, $v2, 4)); 

?>
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

FUNCIÓN INSERTA VECTOR

Publicado por Silvia (80 intervenciones) el 28/05/2015 13:59:10
Por favor, ayudadme es MUY URGENTE.
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

FUNCIÓN INSERTA VECTOR

Publicado por Silvia (80 intervenciones) el 29/05/2015 14:36:34
El profesor me ha dado esta pista.

INSERTAR_VECTOR (V1,V2,POS)

PISTA:
CREA UN INDEX PER CADA VECTOR
v1: i
v2: j
v3: k (vector que vas construïnt a partir de vi, v2 i pos
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
Imágen de perfil de xve

FUNCIÓN INSERTA VECTOR

Publicado por xve (5519 intervenciones) el 29/05/2015 15:27:40
Hola Silvia, aqui tienes un ejemplo que funciona bien..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
/**
 * Funcion que separa el vector en dos vectores
 */
function separarVector($v,$pos)
{
	$v1=array();
	$v2=array();
	for($i=0;$i<count($v);$i++)
	{
		if($i>=$pos)
			$v2[]=$v[$i];
		else
			$v1[]=$v[$i];
	}
	return array($v1,$v2);
}
 
function insertar_vector($v1,$v2,$pos)
{
	if($pos<=count($v1))
	{
		// separamos el array en dos arrays
		list($parte1,$parte2)=separarVector($v1,$pos);
 
		// añadimos a la parte1 del array el segundo array
		foreach($v2 as $value)
		{
			$parte1[]=$value;
		}
 
		// añadimos el resto del primer array
		foreach($parte2 as $value)
		{
			$parte1[]=$value;
		}
 
		return $parte1;
	}
	return false;
}
 
$a=array(1,2,3);
$b=array(4,5,6);
 
$c=insertar_vector($a,$b,1);
if($c)
	print_r($c);
else
	echo "Error";
?>


Ya nos comentaras...
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