Переместить наибольший элемент матрицы в левый верхний угол - Free Pascal

Узнай цену своей работы

Формулировка задачи:

дано действительную матрицу N*N. Сделать так, чтобы один с элементов матрицы, что имеет наибольшее значения, размещался бы в левом верхнем углу матрицы.

Решение задачи: «Переместить наибольший элемент матрицы в левый верхний угол»

textual
Листинг программы
const
  n=10;
var
  max:real;
  i,j,imax,jmax:integer;
  a:array [1..n,1..n] of real;
begin
  randomize; 
  for i:=1 to n do
    begin
      for j:=1 to n do
        begin
          a[i,j]:=n*random;
          write(a[i,j]:6:2);
        end;
      writeln;
    end;
 
  max:=a[1,1];
  imax:=1;
  jmax:=1;
  for i:=1 to n do
    for j:=1 to n do
      if a[i,j]>max then
        begin
          max:=a[i,j];
          imax:=i;
          jmax:=j;
        end;
  a[1,1]:=a[imax,jmax];
  writeln('Максимум: ',max:8:2,', строка: ',imax,', столбец: ',jmax);
  for i:=1 to n do
    begin
      for j:=1 to n do
        write(a[i,j]:6:2);
      writeln;
    end;
 
  readln;
end.

Объяснение кода листинга программы

  1. Объявляются переменные: — n — размерность матрицы (10х10); — max — для хранения наибольшего элемента; — i, j, imax, jmax — для поиска наибольшего элемента; — a — массив для хранения элементов матрицы.
  2. Заполняются элементы матрицы случайными числами с помощью цикла и функции randomize.
  3. Находится наибольший элемент матрицы с помощью циклов и условия if. Переменные imax и jmax хранят номер строки и столбца наибольшего элемента.
  4. наибольший элемент копируется в левый верхний угол матрицы.
  5. Выводится сообщение с наибольшим элементом, его номером строки и номером столбца.
  6. Выводится заполненная матрица.
  7. Программа ожидает ввода пользователя для завершения работы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы