Найти максимальный элемент на главной диагонали матрицы и на побочной - Free Pascal

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

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

Помогите исправить код, чтобы программа находила максимальный элемент на главной диагонале матрицы и на побочной.
Листинг программы
  1. Var
  2. a: array [1..99,1..99] of integer;
  3. m,n,i,j,max,p,c: integer;
  4. b: array [1..99] of integer;
  5. Begin
  6. Randomize;
  7. write('m = ');
  8. readln(m);
  9. write('n = ');
  10. readln(n);
  11. writeln('Ishodnyi massiv:');
  12. for i:=1 to m do
  13. begin
  14. for j:=1 to n do
  15. begin
  16. a[i,j]:=random(100);
  17. write(a[i,j]:4);
  18. end;
  19. writeln;
  20. end;
  21. for i:=1 to m do
  22. begin
  23. b[i]:=a[i,i];
  24. for j:=2 to m do
  25. begin
  26. if (b[i] < a[j,j]) then
  27. begin
  28. b[i]:=a[j,j];
  29. max:=b[i];
  30. end
  31. end;
  32. if (i=1) then
  33. max:=b[i];
  34. end;
  35. writeln(max:4);
  36. p:=1;
  37. for i:=m downto 1 do
  38. begin
  39. b[i]:=a[i,p];
  40. for j:=m downto 2 do
  41. begin
  42. if (b[i] < a[i-1,p+1]) then
  43. begin
  44. b[i]:=a[i-1,p+1];
  45. max:=b[i];
  46. end
  47. end;
  48. if (i=m) then
  49. begin
  50. max:=b[i];
  51. end;
  52. p:=p+1;
  53. end;
  54. write(max:4);
  55. End.

Решение задачи: «Найти максимальный элемент на главной диагонали матрицы и на побочной»

textual
Листинг программы
  1. var a: array [1..20,1..20] of integer;
  2.     n,i,j,maxg,maxp: integer;
  3. begin
  4. randomize;
  5. write('n = ');
  6. readln(n);
  7. writeln('Ishodnyi massiv:');
  8. for i:=1 to n do
  9.  begin
  10.   for j:=1 to n do
  11.    begin
  12.     a[i,j]:=random(100);
  13.     write(a[i,j]:4);
  14.    end;
  15.   writeln;
  16.  end;
  17. maxg:=a[1,1];
  18. maxp:=a[1,n];
  19. for i:=1 to n do
  20.  begin
  21.   if a[i,i]>maxg then maxg:=a[i,i];
  22.   if a[i,n-i+1]>maxp then maxp:=a[i,n-i+1];
  23.  end;
  24. writeln('max gl.diagonali=',maxg);
  25. writeln('max pb.diagonali=',maxp);
  26. readln
  27. end.

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

  1. Объявлены переменные:
    • a: двумерный массив (20x20) целых чисел;
    • n: количество заполненных элементов массива;
    • i, j: индексы для обхода массива;
    • maxg, maxp: для хранения максимальных значений главной и побочной диагоналей соответственно.
  2. Задается количество заполненных элементов массива (n).
  3. Заполняется массив случайными целыми числами от 0 до 99.
  4. Выводится заполненный массив.
  5. Инициализируются переменные maxg и maxp первым элементом главной и побочной диагоналей соответственно.
  6. Происходит обход массива по диагонали, сравнивая текущий элемент с текущим maxg и maxp и обновляя их при необходимости.
  7. Выводятся значения maxg и maxp.
  8. Программа ожидает нажатия клавиши для завершения работы.

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


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

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

10   голосов , оценка 4 из 5

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

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

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