Ошибка: "Операция '>' не применима к типу 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.
Объяснение кода листинга программы
- Объявляется константа
m
со значением5
и константаn
со значением5
. - Объявляются переменные
a
- двумерный массив размером m * n,b
- одномерный массив размером m,i
,j
,p
,q
,t
- все типа Integer. - Для каждого значения
i
от 1 доm
выполняется следующий блок:t
присваивается значениеa[i,1]
- Для каждого значения
j
от 2 доn
проверяется условие: еслиt
меньше чемa[i,j]
, тогдаt
присваивается значениеa[i,j]
- Значение
t
присваиваетсяb[i]
- Операция сортировки по убыванию значений
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
.
- Устанавливаются начальные значения
- Отображается двумерный массив
a
в виде таблицы с использованием цикла: для каждого значенияi
от 1 доm
и для каждого значенияj
от 1 доn
выводится значениеa[i,j]
с выравниванием в 4 пробела, а также переход на новую строку.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д