И еще мне необходимо изменить процедуру вывода таким образом, что бы она выводила матрицу m на p и распологала ее по центру. (по любому с помощью goto, наверное надо взять сначало центральный эллимент матрици и уже от него отталкиваться)
Задача: даны три матрици по пять строк и четыре эллимента в каждой 1) Заполнить матрици случайными числами; 2) переставить строки матрици , что бы эллименты шли от меньшего к большему 3) вывести на экран исправленную матрицу с задаными номером.
uses crt;
const n=3;
m=5;
p=4;
type aaaa = array [1..p] of byte;
aaa = array [1..n] of aaaa;
aa= array [1..n] of aaa;
var i,j,s,d: byte;
a:aa;
procedure ran (var b:aaa);
var i,j:byte;
z:aaaa;
begin
for i:=1 to m-1 do
for j:=1+i to m do
if b[i,1] > b[j,1] then begin
z:=b[i];
b[i]:=b[j];
b[j]:=z;
end;
end;
procedure vivod (b:aaa) ;
var i, j: byte;
begin
for j:=1 to p do
write (b[i,j]);
writeln;
end;
begin
clrscr;
randomize;
for i:=1 to n do
for j:=1 to m do
for s:=1 to p do
a[i,j,s]:= random (100);
writeln ('isxod matr');
for i:=1 to n do
begin
for s:= 1 to p do
write (a[i,j,s]:5);
writeln
end;
for i:=1 to n do
ran (a[i]);
write ('nomer davay');
readln (d);
writeln ('isxodnai matrica');
vivod (a[d]);
readln
end.