В зависимости от местоположения максимального элемента, домножить матрицу на 10 или сформировать массив - Pascal
Формулировка задачи:
дана вещественная матрица A(n*n). Если максимальный элемент матрицы находится на главной диагонали или выше её то все элементы матрицы домножить на 10. в противном случае получить одномерную матрицу
Решение задачи: «В зависимости от местоположения максимального элемента, домножить матрицу на 10 или сформировать массив»
textual
Листинг программы
const n = 6; var a: array[1..n, 1..n] of real; b: array[1..n*n] of real; i, j, imax, jmax: integer; begin randomize; imax := 1; jmax := 1; writeln('Исходная матрица:'); for i := 1 to n do begin for j := 1 to n do begin a[i, j] := 198 * random - 99; write(a[i, j]:10:4); if a[imax, jmax] < a[i, j] then begin imax := i; jmax := j end end; writeln end; writeln('Максимальный элемент матрицы: A[', imax, ', ', jmax, '] = ', a[imax, jmax]:0:4); if jmax >= imax then begin if imax = jmax then writeln('Максимальный элемент матрицы находится на главной диагонали') else writeln('Максимальный элемент матрицы находится выше главной диагонали'); writeln('Все элементы матрицы умножены на 10:'); for i := 1 to n do begin for j := 1 to n do begin a[i, j] := a[i, j] * 10; write(a[i, j]:10:3) end; writeln end end else begin writeln('Максимальный элемент матрицы находится ниже главной диагонали'); for i := 1 to n do for j := 1 to n do b[(i - 1) * n + j] := a[i, j]; writeln('Одномерный массив:'); for i := 1 to n * n do write(b[i]:10:4) end; readln end.
Объяснение кода листинга программы
- Объявление переменных:
n
- константа, равная 6.a
- двумерный массив размером n x n для хранения вещественных чисел.b
- одномерный массив размером n * n для хранения вещественных чисел.i, j, imax, jmax
- целочисленные переменные.
- Инициализация матрицы:
- Выполняется инициализация матрицы
a
случайными вещественными числами в диапазоне от -99 до 99.
- Выполняется инициализация матрицы
- Поиск максимального элемента:
- Происходит обход всех элементов матрицы
a
с целью найти максимальный элемент. - Для каждого элемента матрицы проверяется, является ли он максимальным. Если находится новый максимальный элемент, его индексы запоминаются.
- Происходит обход всех элементов матрицы
- Вывод информации о максимальном элементе:
- Выводится информация о максимальном элементе матрицы (его значение и индексы).
- Определяется местоположение максимального элемента относительно главной диагонали матрицы.
- Умножение всех элементов матрицы на 10:
- Если максимальный элемент находится на главной или выше диагонали, все элементы матрицы умножаются на 10.
- Если максимальный элемент находится ниже диагонали, матрица
a
преобразуется в одномерный массивb
.
- Вывод результата:
- Выводится преобразованная матрица (если максимальный элемент находится на или выше диагонали) или одномерный массив
b
(если максимальный элемент находится ниже диагонали).
- Выводится преобразованная матрица (если максимальный элемент находится на или выше диагонали) или одномерный массив
- Ожидание ввода пользователя.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д