Rotar matriz array_unshift
Publicado por moonight (1 intervención) el 08/12/2019 17:56:56
Hola, estoy intentando rotar una matriz de 5x6 de manera que cada número avance una posición y el último sea el primero
el problema es que me pone el ultimo número en la primera fila PERO al final de la columna, no al principio.
de modo que
59 87 27 20 98 12 87
46 26 47 33 16 48 78
31 34 46 59 45 63 43
92 34 59 78 42 39 25
91 54 46 88 35 41 24
84 51 76 51 84 91 16
84 51 76 51 84 91 16
59 87 27 20 98 12 87
46 26 47 33 16 48 78
31 34 46 59 45 63 43
92 34 59 78 42 39 25
91 54 46 88 35 41 24
a ver si alguien puede decirme cual es el error o simplemente no se pude usar este función (tendría que hacerlo con funciones no con el método burbuja..)gracias!
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
//RELLENO LA MATRIZ CON NUMEROS ALEATORIOS
for($i=0;$i<6;$i++){
for($j=0;$j<7;$j++){
$aleatorio=mt_rand(10,99);
$a[$i][$j]=$aleatorio;
}
}
echo "<br>"; /LA MUESTRO EN UNA TABLA
echo "<table border=1 width=200px >";
for($i=0;$i<count($a);$i++){
echo "<tr>";
for($j=0;$j<count($a[0]);$j++){
echo "<td>".$a[$i][$j]."</td>";
}
echo "</tr>";
}
echo "</table>";
echo "<br>";echo "<br>";
$ultimo=array_pop($a); //GUARDO EL VALOR DE LA ULTIMA POSICIÓN
array_unshift($a,$ultimo); //LO PONGO EL PRIMERO
//VUELVO A MOSTRAR
echo "<br>";echo "<br>";
echo "<table border=1 width=200px >";
for($i=0;$i<count($a);$i++){
echo "<tr>";
for($j=0;$j<count($a[0]);$j++){
echo "<td>".$a[$i][$j]."</td>";
}
echo "</tr>";
}
echo "</table>";
?>
el problema es que me pone el ultimo número en la primera fila PERO al final de la columna, no al principio.
de modo que
59 87 27 20 98 12 87
46 26 47 33 16 48 78
31 34 46 59 45 63 43
92 34 59 78 42 39 25
91 54 46 88 35 41 24
84 51 76 51 84 91 16
84 51 76 51 84 91 16
59 87 27 20 98 12 87
46 26 47 33 16 48 78
31 34 46 59 45 63 43
92 34 59 78 42 39 25
91 54 46 88 35 41 24
a ver si alguien puede decirme cual es el error o simplemente no se pude usar este función (tendría que hacerlo con funciones no con el método burbuja..)gracias!
Valora esta pregunta


0