На основе элементов исходной матрицы вычислить значение выражения по заданному правилу - 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.

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

В этом коде:

  1. Объявлены следующие переменные:
    • m - размерность матрицы (19);
    • a - матрица (19x19);
    • x - массив (19);
    • n, i, j - счётчики;
    • s - сумма;
    • int64 - тип данных для переменной s (целочисленный с плавающей точкой).
  2. Выполняется заполнение матрицы a случайными числами от -99 до 99.
  3. Выполняется цикл, в котором пользователь вводит число n от 1 до 19.
  4. Выводится исходная матрица a (значения разделены пробелами, строки переносятся на новую строку).
  5. В первой половине массива x сохраняются значения главной диагонали матрицы a.
  6. Во второй половине массива x сохраняются максимальные значения из соответствующих столбцов матрицы a.
  7. Выполняется цикл, в котором вычисляется сумма s элементов массива x.
  8. Если число n нечётное, то к s добавляется квадрат последнего элемента массива x.
  9. Выводится значение переменной s.
  10. Программа ожидает ввода с клавиатуры.

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


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

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

5   голосов , оценка 4 из 5
Похожие ответы