Главная и побочная диагональ матрицы - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Ввести двумерный массив ANxN , вывести его. Найти сумму положительных кратных трем элементов массива. Если она не превышает пятнадцати, то полученной суммой заменить отрицательные элементы под главной диагональю массива, в противном случае удвоить элементы побочной диагонали. Преобразованный массив вывести.

Решение задачи: «Главная и побочная диагональ матрицы»

textual
Листинг программы
type matr = array [1..100, 1..100] of integer;
 
function Sum(a: matr; n: integer): integer;
var
  i, j, s: integer;
begin
  s := 0;
  for i := 1 to n do
    for j := 1 to n do
      if a[i, j] mod 3 = 0 then
        inc(s, a[i, j]);
  Sum := s;
end;
 
procedure Print(a: matr; n: integer);
var i, j: integer;
begin
  for i := 1 to n do begin
    for j := 1 to n do
      write(a[i, j]:4);
    writeln;
  end;
end;
 
var a: matr;
    i, j, n, s: integer;
begin
  randomize;
  read(n);
  for i := 1 to n do
    for j := 1 to n do
      a[i, j] := random(31) - 15;
  Print(a, n);
  s := Sum(a, n);
  if (s >= 15) then begin
    for i := 1 to n do
      a[i, n - i + 1] := a[i, n - i + 1] * 2;
  end else
    for i := 2 to n do
      for j := 1 to i - 1 do
        if a[i, j] < 0 then
          a[i, j] := s;
  writeln;
  Print(a, n);
end.

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

  1. Объявлена матрица типа matr.
  2. Определена функция Sum, которая принимает матрицу a и номер строки n в качестве параметров, заполняет переменную s суммой элементов главной диагонали матрицы a и возвращает эту сумму.
  3. Определена процедура Print, которая принимает матрицу a и номер строки n в качестве параметров, выводит все элементы матрицы a на экран.
  4. Задана матрица a размером 100x100.
  5. Введен номер строки n.
  6. Все элементы матрицы a заполнены случайными числами от -15 до 15.
  7. Выведена матрица a на экран.
  8. Вычислена сумма элементов главной диагонали матрицы a.
  9. Если сумма элементов главной диагонали матрицы a больше или равна 15, то выполнен блок кода, который удваивает значения элементов матрицы a на главной диагонали.
  10. Если сумма элементов главной диагонали матрицы a меньше 15, то выполнен блок кода, который присваивает всем элементам побочной диагонали матрицы a значение суммы элементов главной диагонали.
  11. Выведена матрица a на экран.

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


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

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

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