Переместить наибольший элемент матрицы в левый верхний угол - 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.
Объяснение кода листинга программы
- Объявляются переменные: — n — размерность матрицы (10х10); — max — для хранения наибольшего элемента; — i, j, imax, jmax — для поиска наибольшего элемента; — a — массив для хранения элементов матрицы.
- Заполняются элементы матрицы случайными числами с помощью цикла и функции randomize.
- Находится наибольший элемент матрицы с помощью циклов и условия if. Переменные imax и jmax хранят номер строки и столбца наибольшего элемента.
- наибольший элемент копируется в левый верхний угол матрицы.
- Выводится сообщение с наибольшим элементом, его номером строки и номером столбца.
- Выводится заполненная матрица.
- Программа ожидает ввода пользователя для завершения работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д