Найти максимальный и минимальный элементы на главной диагонали, и поменять эти строки местами - PascalABC.NET
Формулировка задачи:
При помощи случайных чисел ввести матрицу размером 15х15. Найти максимальный и минимальный элементы на главной диагонали и поменять эти строки местами. Вывести на экран исходную матрицу, минимальный и максимальный элементы и матрицу после перестановки.
Решение задачи: «Найти максимальный и минимальный элементы на главной диагонали, и поменять эти строки местами»
textual
Листинг программы
randomize; imin:=1; imax:=1; for i:=1 to 15 do begin for j:=1 to 15 do a[i,j]:=-50 + random*100; if a[imin,imin]>a[i,i] then imin:=i; if a[imax,imax]<a[i,i] then imax:=i; end;
Объяснение кода листинга программы
- В первую очередь выполняется функция
randomize, которая инициализирует генератор случайных чисел. - Инициализируются переменные
iminиimaxзначением 1. - Происходит обход матрицы
a[i,j]по диагонали от элементаa[1,1]доa[15,15]с шагом 1. - Внутри цикла перебираются все элементы матрицы
a[i,j]. - Значение каждого элемента
a[i,j]генерируется случайным образом в диапазоне от -50 до 50. - Если элемент в позиции
imin,iminбольше текущего элементаa[i,i], тоiminизменяется наi. - Если элемент в позиции
imax,imaxменьше текущего элементаa[i,i], тоimaxизменяется наi. - После завершения второго вложенного цикла, в матрице
a[i,j]будет найден минимальный элемент в позицииimin,iminи максимальный элемент в позицииimax,imax. - Строки, содержащие минимальный и максимальный элементы, меняются местами.