Здравствуйте. Мне нужно сделать одно задание, но я не могу понять, как это сделать

Задание следующее: Путем перестановки элементов квадратной вещественной матрицы добиться того, чтобы ее максимальный элемент находился в левом верхнем углу (1,1), следующий по величине – в позиции (2, 2), следующий по величине – в позиции (3, 3) и т. д., заполнив, таким образом, всю главную диагональ. Найти номер первой из строк, не содержащих ни одного положительного элемента. Ища решение и объяснение этого задания в интернете, я мало практически ничего не понял. Есть только начальный код с двумерным массивом. Вот код:

<?
  $i = $_POST["i"];
  $j = $_POST["j"];

// Генерация массива
  for ($ii = 0; $ii < $i; $ii++){
    for ($jj = 0; $jj < $j; $jj++){
        $a[$ii][$jj] = rand(-100, 100);  
    }
  }

?>

<html>
<head>
 <meta charset="utf-8">
</head>

<?
  
  print "<h3>Sgenerirovanniy massiv iz ".$i * $j." elementov</h3>";
  print "<table cellpadding=\"5\" border=\"1\">";
  
  // Печать индексов индексов столбцов
  print "<tr align=\"center\"><td></td>";
  for ($jj = 0; $jj < $j; $jj++){
    print "<td><font size=\"-3\">".$jj."</font></td>";  
  }  
  print "</tr>";
  
  // Печать элементов
  for ($ii = 0; $ii < $i; $ii++){
    print "<tr><td align=\"center\"><font size=\"-3\">".$ii."</font></td>";
    for ($jj = 0; $jj < $j; $jj++){
        if ($ii == $jj){
            print "<td><b>".$a[$ii][$jj]."</b></td>";
        }
        else{
            print "<td>".$a[$ii][$jj]."</td>";  
        }
        
    }
    print "</tr>";
  }
  
  //print "</tr>";
  print "</table>";
  
?>

</html>

Ответы (1 шт):

Автор решения: MBo

Сейчас всё поймёте:

Обходите весь массив, ищете максимум, запоминаете его позицию. После обхода всей матрицы меняете элемент [0][0] c элементом в запомненной позиции

Снова обходите массив, пропуская элемент [0][0], находите позицию максимума, меняете с элементом [1][1]

Снова обходите массив, пропуская элементы [0][0] и [1][1], находите позицию максимума, меняете с элементом [2][2]

Повторяете это дело n (размер матрицы) раз

→ Ссылка