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

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

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

Выдает такую ошибку "Операция '>' не применима к типу array [1..4] of integer" помогите исправить.
Program massiv2;
const n_st=5;
const n_cl=4;
var
m:array[1..n_st,1..n_cl] of integer;
i,j,k,r:integer;
begin
writeln('Введите массив из ',n_st,' строк и ',n_cl,' столбцов');
for i:=1 to n_st do
begin
for j:=1 to n_cl do
read(m[i,j]);
readln;
end;
writeln('Матрица из ',n_st,' строк и ',n_cl,' столбцов');
for i:=1 to n_st do
begin
for j:=1 to n_cl do
write(' m[',i:2,',',j,']=',m[i,j]:2);
writeln;
end;
repeat
k:=0;
for i:=2 to n_st do
if m[i]>m[i+1] then
begin
r:=m[i];
m[i]:=m[i+1];
m[i+1]:=r;
k:=k+1;
end;
until k=0;
for i:=1 to n_st do
begin
for j:=1 to n_cl do
write(' m[',i:2,',',j,']=',m[i,j]:2);
end;
end.

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

textual
Листинг программы
const m=5; n=5;
var
  a: array [1..m,1..n] of Integer;
  b: array [1..m] of Integer;
  i, j, p, q, t: Integer;
begin
  { ... }
  { ищем максимумы }
  for i:=1 to m do begin
    t:=a[i,1];
    for j:=2 to n do if t<a[i,j] then t:=a[i,j];
    b[i]:=t;
  end;
  { сортируем по максимумам }
  q:=m;
  repeat
    p:=q; q:=1;
    for i:=Low(a) to p-1 do
      if b[i]<b[i+1] then begin
        for j:=1 to n do begin
          t:=a[i,j]; a[i,j]:=a[i+1,j]; a[i+1,j]:=t;
        end;
        t:=b[i]; b[i]:=b[i+1]; b[i+1]:=t; q:=i;
      end;
  until q=1;
  { выводим }
  WriteLn('A''=');
  for i:=1 to m do begin
    for j:=1 to n do Write(a[i,j]:4); WriteLn;
  end;
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