Ошибка: "Операция '>' не применима к типу 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 пробела, а также переход на новую строку.