Ошибка: "Операция '>' не применима к типу array [1..4] of integer" - Pascal

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

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

Выдает такую ошибку "Операция '>' не применима к типу array [1..4] of integer" помогите исправить.
Листинг программы
  1. Program massiv2;
  2. const n_st=5;
  3. const n_cl=4;
  4. var
  5. m:array[1..n_st,1..n_cl] of integer;
  6. i,j,k,r:integer;
  7. begin
  8. writeln('Введите массив из ',n_st,' строк и ',n_cl,' столбцов');
  9. for i:=1 to n_st do
  10. begin
  11. for j:=1 to n_cl do
  12. read(m[i,j]);
  13. readln;
  14. end;
  15. writeln('Матрица из ',n_st,' строк и ',n_cl,' столбцов');
  16. for i:=1 to n_st do
  17. begin
  18. for j:=1 to n_cl do
  19. write(' m[',i:2,',',j,']=',m[i,j]:2);
  20. writeln;
  21. end;
  22. repeat
  23. k:=0;
  24. for i:=2 to n_st do
  25. if m[i]>m[i+1] then
  26. begin
  27. r:=m[i];
  28. m[i]:=m[i+1];
  29. m[i+1]:=r;
  30. k:=k+1;
  31. end;
  32. until k=0;
  33. for i:=1 to n_st do
  34. begin
  35. for j:=1 to n_cl do
  36. write(' m[',i:2,',',j,']=',m[i,j]:2);
  37. end;
  38. end.

Решение задачи: «Ошибка: "Операция '>' не применима к типу array [1..4] of integer"»

textual
Листинг программы
  1. const m=5; n=5;
  2. var
  3.   a: array [1..m,1..n] of Integer;
  4.   b: array [1..m] of Integer;
  5.   i, j, p, q, t: Integer;
  6. begin
  7.   { ... }
  8.   { ищем максимумы }
  9.   for i:=1 to m do begin
  10.     t:=a[i,1];
  11.     for j:=2 to n do if t<a[i,j] then t:=a[i,j];
  12.     b[i]:=t;
  13.   end;
  14.   { сортируем по максимумам }
  15.   q:=m;
  16.   repeat
  17.     p:=q; q:=1;
  18.     for i:=Low(a) to p-1 do
  19.       if b[i]<b[i+1] then begin
  20.         for j:=1 to n do begin
  21.           t:=a[i,j]; a[i,j]:=a[i+1,j]; a[i+1,j]:=t;
  22.         end;
  23.         t:=b[i]; b[i]:=b[i+1]; b[i+1]:=t; q:=i;
  24.       end;
  25.   until q=1;
  26.   { выводим }
  27.   WriteLn('A''=');
  28.   for i:=1 to m do begin
  29.     for j:=1 to n do Write(a[i,j]:4); WriteLn;
  30.   end;
  31. end.

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

  1. Объявляется константа m со значением 5 и константа n со значением 5.
  2. Объявляются переменные a - двумерный массив размером m * n, b - одномерный массив размером m, i, j, p, q, t - все типа Integer.
  3. Для каждого значения i от 1 до m выполняется следующий блок:
    • t присваивается значение a[i,1]
    • Для каждого значения j от 2 до n проверяется условие: если t меньше чем a[i,j], тогда t присваивается значение a[i,j]
    • Значение t присваивается b[i]
  4. Операция сортировки по убыванию значений b и соответствующих этим значениям строк в массиве a. Для этого используется алгоритм сортировки пузырьком.
    • Устанавливаются начальные значения q равное m.
    • Выполняется цикл повторений, в котором p устанавливается в значение q, а q устанавливается в 1.
    • Для каждого значения i от начала массива a до p-1 проверяется условие: если b[i] меньше чем b[i+1], выполняется следующий блок операций:
      • Значение t устанавливается в b[i], b[i] получает значение b[i+1], b[i+1] присваивается t.
      • Для каждого значения j от 1 до n, значение t получает значение a[i,j], a[i,j] присваивается значение a[i+1,j], a[i+1,j] получает значение t.
      • q устанавливается в значение i.
    • Цикл повторяется, пока q не станет равным 1.
  5. Отображается двумерный массив a в виде таблицы с использованием цикла: для каждого значения i от 1 до m и для каждого значения j от 1 до n выводится значение a[i,j] с выравниванием в 4 пробела, а также переход на новую строку.

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


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

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

14   голосов , оценка 3.857 из 5

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

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

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