Переставляя строки и столбцы, добиться того чтобы наибольший элемент оказался в верхнем левом углу - Pascal

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

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

Дана вещественная матрица размером 7x4. Переставляя её строки и столбцы , добиться того чтобы наибольший элемент (один из них) оказался в верхнем левом углу. Помогите решить пожалуйста!!!!

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

textual
Листинг программы
  1. const m=7; n=4;
  2. var
  3.   a: array [1..m,1..n] of Real;
  4.   i, j, mi, mj: Integer;
  5.   t: Real;
  6. begin
  7.   Randomize;
  8.   for i:=1 to m do for j:=1 to n do a[i,j]:=-50+100*Random;
  9.   WriteLn('A =');
  10.   for i:=1 to m do begin for j:=1 to n do Write(' ',a[i,j]:7:2); WriteLn; end;
  11.   mi:=1; mj:=1;
  12.   for i:=1 to m do for j:=1 to n do if a[mi,mj]<a[i,j] then begin mi:=i; mj:=j; end;
  13.   if mi<>1 then for j:=1 to n do begin t:=a[1,j]; a[1,j]:=a[mi,j]; a[mi,j]:=t; end;
  14.   if mj<>1 then for i:=1 to m do begin t:=a[i,1]; a[i,1]:=a[i,mj]; a[i,mj]:=t; end;
  15.   WriteLn('A''=');
  16.   for i:=1 to m do begin for j:=1 to n do Write(' ',a[i,j]:7:2); WriteLn; end;
  17. end.

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

  1. Объявляется переменная m со значением 7 и переменная n с значением 4.
  2. Объявляется массив a размером 7x4 для хранения вещественных чисел.
  3. Объявляются переменные i, j, mi, mj для циклов и операций с массивом и переменная t для временного хранения значений.
  4. Генерируются случайные числа и заполняется массив a случайными значениями в диапазоне от -50 до 50.
  5. Выводится на экран заполненный массив a в виде матрицы.
  6. Находится индекс максимального элемента в массиве a (индексы сохраняются в переменных mi и mj).
  7. Если индекс максимального элемента не равен (1,1), то происходит перестановка строк и/или столбцов массива таким образом, чтобы максимальный элемент находился в верхнем левом углу.
  8. Выводится на экран изменённый массив a в виде матрицы.

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


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

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

10   голосов , оценка 4.1 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы