На основе элементов исходной матрицы вычислить значение выражения по заданному правилу - Free Pascal
Формулировка задачи:
1)Дана действительная квадратная матрица порядка n. Получить X1Xn+X2Xn-1+...+XnX1, где Xk-наибольшее значение параметров k-й строки данной матрицы от первого до k-го элемента.
Решение задачи: «На основе элементов исходной матрицы вычислить значение выражения по заданному правилу»
textual
Листинг программы
- const m = 19;
- var a: array [1..m, 1..m] of integer;
- x: array [1..m] of integer;
- n, i, j: integer;
- s: int64;
- begin
- randomize;
- repeat
- write('n in [1..', m, ']; n = ');
- readln(n)
- until (n >= 1) and (n <= m);
- writeln('Source matrix:');
- for i := 1 to n do
- begin
- for j := 1 to n do
- begin
- a[i, j] := -99 + random(199);
- write(a[i, j]:4)
- end;
- writeln
- end;
- for i := 1 to n do
- begin
- x[i] := a[i, 1];
- for j := 2 to i do
- if x[i] < a[i, j] then x[i] := a[i, j]
- end;
- s := 0;
- for i := 1 to n div 2 do s := s + x[i] * x[n - i + 1];
- s := 2 * s;
- if odd(n) then s := s + sqr(x[n div 2 + 1]);
- write('s = ', s);
- readln
- end.
Объяснение кода листинга программы
В этом коде:
- Объявлены следующие переменные:
m
- размерность матрицы (19);a
- матрица (19x19);x
- массив (19);n, i, j
- счётчики;s
- сумма;int64
- тип данных для переменнойs
(целочисленный с плавающей точкой).
- Выполняется заполнение матрицы
a
случайными числами от -99 до 99. - Выполняется цикл, в котором пользователь вводит число
n
от 1 до 19. - Выводится исходная матрица
a
(значения разделены пробелами, строки переносятся на новую строку). - В первой половине массива
x
сохраняются значения главной диагонали матрицыa
. - Во второй половине массива
x
сохраняются максимальные значения из соответствующих столбцов матрицыa
. - Выполняется цикл, в котором вычисляется сумма
s
элементов массиваx
. - Если число
n
нечётное, то кs
добавляется квадрат последнего элемента массиваx
. - Выводится значение переменной
s
. - Программа ожидает ввода с клавиатуры.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д