Нахождение суммы элементов диагоналей - Pascal

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

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

Дана матрица А размера n на n. Найти сумму элементов главной и побочной диагонали. Минимальное и максимальное значения среди этих элементов. Как будет выглядеть эта программа?

Решение задачи: «Нахождение суммы элементов диагоналей»

textual
Листинг программы
uses crt;
const nmax=20;
var a,at:array[1..nmax,1..nmax] of integer;
    n,i,j,s,mn,mx:integer;
begin
clrscr;
randomize;
repeat
write('Размер матрицы ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Матрица A:');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(50);
    write(a[i,j]:4);
   end;
  writeln;
 end;
writeln;
mx:=a[1,1];
mn:=a[1,1];
s:=0;
for i:=1 to n do
 begin
  s:=s+a[i,i]+a[i,n-i+1];{сумма на диагоналях}
  if a[i,i]>mx then mx:=a[i,i];{главная диагональ}
  if a[i,n-i+1]>mx then mx:=a[i,n-i+1];{побочная диагональ}
  if a[i,i]<mn then mn:=a[i,i];
  if a[i,n-i+1]<mn then mn:=a[i,n-i+1];
 end;
if odd(n) then s:=s-a[n div 2+1,n div 2+1];{если матрица нечетная, центральный элемент посчитан 2 раза}
writeln('Сумма диагональных элементов=',s);
writeln('Минимальный из них=',mn);
writeln('Максимальный из них=',mx);
readln
end.

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

  1. Создается переменная nmax и присваивается ей значение 20.
  2. Создается массив a типа array[1..nmax,1..nmax] of integer.
  3. Создаются переменные n, i, j, s, mn, mx и присваиваются им начальные значения.
  4. Выводится запрос на ввод размера матрицы, и считывается введенное значение.
  5. Для каждого элемента матрицы a[i,j] выводится его значение.
  6. Вычисляются минимальный и максимальный элементы матрицы a.
  7. Вычисляется сумма элементов диагоналей матрицы a.
  8. Если размер матрицы нечетный, то вычисляется сумма элементов центральной диагонали и вычитается из общей суммы.
  9. Выводится сумма диагональных элементов, минимальный и максимальный элементы.
  10. Программа завершается, ожидая ввода пользователя.

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


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

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

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