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