Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Tarde Galera,
Estou com dificuldade para fazer o seguinte exercício:
Crie uma matriz 4x4 com valores aleatórios entre 10 e 200, e crie outra matriz com os valores da primeira matriz criada só que em ordem crescente.
Já criei a matriz, só que não consigo ordena-la, será que poderiam me ajudar com essa lógica?
abaixo o código.
<?php
$matriz = array();
for($i=0;$i<5;$i++){
for($j=0;$j<5;$j++){
$valor_rand = rand(10,200);
if($i==0 && $j==0){
$matriz[$i][$j] = "";
}
else{
if($i==0){
$matriz[$i][$j] = $j;
}
else{
if($j==0){
$matriz[$i][$j] = $i;
}
else{
$matriz[$i][$j] = $valor_rand;
}
}
}
}
}
$matriz_aux = array();
$aux = 0;
for($i=0;$i<5;$i++){
for($j=0;$j<5;$j++){
$matriz_aux[$i][$j] = $matriz[$i][$j];
}
}
$aux = 0;
for($i=0;$i<5;$i++){
for($j=0;$j<5;$j++){
}
}
}
?>
<html>
<head>
</head>
<body>
<table border="1">
<?php
for($i=0;$i<5;$i++)
{
?>
<tr>
<?php
for($j=0;$j<5;$j++)
{
?>
<td><?php echo $matriz[$i][$j]; ?></td>
<?php
}
?>
</tr>
<?php
}
?>
</table>
<br><br>
<table border="1">
<?php
for($i=0;$i<5;$i++)
{
?>
<tr>
<?php
for($j=0;$j<5;$j++)
{
?>
<td><?php echo $matriz_aux[$i][$j]; ?></td>
<?php
}
?>
</tr>
<?php
}
?>
</table>
</body>
</html>Entendi vou pesquisar, de qualquer forma consegui fazer, abaixo o código:
<?php
$matriz=array();
$matriz2=array();
$matriz3=array();
for($l=1;$l<5;$l++)
{
for($c=1;$c<5;$c++)
{
$matriz[$l][$c]=rand(10,200);
}
}
for($l=1;$l<5;$l++)
{
for($c=1;$c<5;$c++)
{
for($l1=1;$l1<5;$l1++)
{
for($c1=1;$c1<5;$c1++)
{
if($matriz[$l][$c] > $matriz[$l1][$c1])
{
$aux=$matriz[$l][$c];
$matriz[$l][$c]=$matriz[$l1][$c1];
$matriz[$l1][$c1]=$aux;
}
}
}
}
}
for($l=1;$l<5;$l++)
{
for($c=1;$c<5;$c++)
{
$matriz2[$l][$c]=rand(10,200);
}
}
for($l=1;$l<5;$l++)
{
for($c=1;$c<5;$c++)
{
for($l1=1;$l1<5;$l1++)
{
for($c1=1;$c1<5;$c1++)
{
if($matriz2[$l][$c] > $matriz2[$l1][$c1])
{
$aux=$matriz2[$l][$c];
$matriz2[$l][$c]=$matriz2[$l1][$c1];
$matriz2[$l1][$c1]=$aux;
}
}
}
}
}
for($l=1;$l<3;$l++)
{
for($c=1;$c<5;$c++)
{
$matriz3[$l][$c]=$matriz[$l][$c];
}
}
for($l=3;$l<5;$l++)
{
for($c=1;$c<5;$c++)
{
$matriz3[$l][$c]=$matriz2[$l-2][$c];
}
}
?>
<html>
<body>
<br>
<table border="1">
<?php
for($i=1;$i<5;$i++)
{
?>
<tr>
<?php
for($j=1;$j<5;$j++)
{
?>
<td><?php
echo $matriz[$i][$j];
?></td>
<?php
}
?>
</tr>
<?php
}
?>
</table>
<br>
<table border="1">
<?php
for($i=1;$i<5;$i++)
{
?>
<tr>
<?php
for($j=1;$j<5;$j++)
{
?>
<td><?php
echo $matriz2[$i][$j];
?></td>
<?php
}
?>
</tr>
<?php
}
?>
</table>
<br>
<table border="1">
<?php
for($i=1;$i<5;$i++)
{
?>
<tr>
<?php
for($j=1;$j<5;$j++)
{
?>
<td><?php
echo $matriz3[$i][$j];
?></td>
<?php
}
?>
</tr>
<?php
}
?>
</table>
</body>
<html>
Obrigado pela ajuda.
Abraço.
Se for permitido usar funções do PHP, pode usar sort: http://php.net/sort