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

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

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

Листинг программы
  1. Program PP1;
  2. const n=4;
  3. type
  4. matrix= array [1..4, 1..4] of integer;
  5. var
  6. a:matrix;
  7. S,max:real;
  8. im,jm,i,j:integer;
  9. k:byte;
  10. begin
  11. randomize;
  12. writeln('Исходная матрица');
  13. for i:=1 to n do
  14. begin
  15. for j:=1 to n do
  16. begin
  17. a[i,j]:=random(50);
  18. write(a[i,j]:4);
  19. end;
  20. writeln;
  21. end;
  22. max:=a[1,1];
  23. im:=1;
  24. jm:=1;
  25. S:=0;
  26. for i:=1 to 4 do
  27. begin
  28. for j:=1 to 4 do
  29. begin
  30. if (a[i,j]>max) then
  31. max:=a[i,j];
  32. if (i<j) then
  33. k:=1
  34. else
  35. k:=0
  36. end;
  37. end;
  38. if (k=1) then
  39. begin
  40. write('наибольший элемент находится выше главной диагонали');
  41. for i:=1 to 4 do
  42. begin
  43. for j:=1 to 4 do
  44. begin
  45. if (i>j) then
  46. S:=S+a[i,j];
  47. end;
  48. end;
  49. write (s);
  50. write('элемент ниже главной диагонали')
  51. end;
  52. end.
Если наибольший элемент матрицы А находится выше главной диагонали, найти сумму элементов матрицы, лежащих ниже главной диагонали

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

textual
Листинг программы
  1. const n=4;
  2. type
  3.   matrix= array [1..4, 1..4] of integer;
  4. var
  5.    a:matrix;
  6.    S,max:real;
  7.    im,jm,i,j:integer;
  8.    k:byte;
  9. begin
  10. randomize;
  11. writeln('Исходная матрица');
  12. for i:=1 to n do
  13.  begin
  14.   for j:=1 to n do
  15.    begin
  16.     a[i,j]:=random(50);
  17.     write(a[i,j]:4);
  18.    end;
  19.   writeln;
  20.   end;
  21. max:=a[1,1];
  22. im:=1;
  23. jm:=1;
  24. for i:=1 to n do
  25. for j:=1 to n do
  26. if a[i,j]>max then
  27.  begin
  28.   max:=a[i,j];
  29.   im:=i;
  30.   jm:=j;
  31.  end;
  32. writeln('Максимальнвй элемент a[',im,',',jm,']=',max);
  33. if jm>im then
  34.  begin
  35.   writeln('наибольший элемент находится выше главной диагонали');
  36.   s:=0;
  37.   for i:=2 to n do
  38.   for j:=1 to i-1 do
  39.   s:=s+a[i,j];
  40.   write ('Сумма ниже главной диагонали=',s);
  41.  end
  42. else write('Максимальный элемент не выше главной диагонали')
  43. end.

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

  1. Создается константа n, которая определяет размерность матрицы (в данном случае 4).
  2. Создается тип данных matrix, который представляет собой массив целых чисел размером n на n.
  3. Создается переменная a, которая инициализируется значением matrix.
  4. Создаются три переменные S, max и k, которые будут использоваться для поиска максимального элемента и его координат.
  5. Запускается цикл, который заполняет матрицу случайными числами от 1 до 50.
  6. После заполнения матрицы выводится максимальное значение, которое пока что равно первому элементу матрицы (a[1,1]).
  7. Запускается второй цикл, который ищет максимальное значение среди оставшихся элементов матрицы. Если такое значение найдено, то обновляется значение max, а также координаты максимального элемента (im и jm).
  8. После завершения второго цикла выводится сообщение о том, находится ли максимальное значение выше главной диагонали или нет.
  9. Если максимальное значение находится выше главной диагонали, то запускается третий цикл, который суммирует все элементы матрицы, лежащие ниже главной диагонали. Результат выводится на экран.
  10. Если максимальное значение находится ниже главной диагонали, то выводится сообщение об этом.

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


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

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

8   голосов , оценка 3.75 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы