двумерный массив ошибка
Добавлено: 24 апр 2009, 23:04
Код: Выделить всё
program laba;
type mas=array [1..10,1..10] of integer;
var i,j:integer;
procedure input(var t,r:byte; var m:mas; c:string);
begin
writeln(c);
writeln('ââåäèòå ðàçìåðíîñòü ìàññèâà');
readln(t,r);
for i:=1 to t do
for j:=1 to r do begin
write ('m[',i,',',j,']=');
readln (m[i,j]);
end;
end;
procedure output(t,r:byte; var m:mas; c:string);
var i,j:integer;
begin
writeln(c);
for i:=1 to t do begin
for j:=1 to r do
write(m[i,j],'':3);
writeln;
end;
end;
procedure q(t,r:byte; m:mas; c:string);
var i,j:integer;
max,min,jmax,jmin,p:integer;
begin
for i:=1 to t do
begin
min:=m[i,10];
max:=m[i,10];
for j:=1 to r do
if m[i,j]<min then begin
min:=m[i,j];
jmin:=j;
end;
for j:=1 to r do
if m[i,j]>max then begin
max:=m[i,j];
jmax:=j;
end;
p:=m[i,jmin];
m[i,jmin]:= m[i,jmax];
m[i,jmax]:=p;
for i:=1 to t do begin
for j:=1 to r do
write(m[i,j],'':3);
writeln;
end;
end;
end;
var a1,a2,a3:mas;
n1,n2,n3,m1,m2,m3: byte;
begin
input(n1,m1,a1,'Ìàòðèöà a1');
output(n1,m1,a1,'');
q(n1,m1,a1,'');
{input(n2,m2,a2,'Ìàòðèöà a2');
output(n2,m2,a2,'');
input(n3,m3,a3,'Ìàòðèöà a3');
output(n3,m3,a3,'');}
end.
p:=m[i,jmin];
пишет выходит за границы диапазона изменения индекса 1..10
помоги пожалуйста