uses crt;
type
PtrStr = ^Str;
Str = array [1..1] of integer;
PtrMatr = ^Matr;
Matr = array [1..1] of PtrStr;
var
matrica: PtrMatr;
razmer, i, j: integer;
procedure CreateMatr;
begin
write ('razmernost matricy: ');
readln(razmer);
getmem(matrica, razmer*SizeOf(PtrStr));
for i:=1 to razmer do
getmem(matrica^[i], razmer*SizeOf(integer));
writeln('vvodim elementy:');
for i:=1 to razmer do
for j:=1 to razmer do
readln(matrica^[i]^[j]);
end;
procedure destroymatrix;
begin
for i:=1 to razmer do
freemem(matrica^[i], razmer*SizeOf(integer));
freemem(matrica, razmer*SizeOf(PtrStr));
end;
procedure otobrajenie;
begin
for i:=1 to razmer do
begin
writeln;
for j:=1 to razmer do
write(matrica^[i]^[j]:5);
end;
writeln;
end;
procedure sortirovka;
var buffer1, buffer2, buffer3: integer;
begin
buffer3:=1;
for i:=1 to razmer do
begin
buffer1:= matrica^[i]^[1];
buffer2:= matrica^[i]^[razmer+1-i];
for j:=0 to razmer-1 do
begin
if matrica^[i]^[j+1] <= buffer1 then
begin
buffer3:=j+1;
buffer1:=matrica^[i]^[j+1];
end;
matrica^[i]^[buffer3]:=buffer2;
matrica^[i]^[razmer+1-i]:=buffer1;
end;
end;
end;
begin
clrscr;
CreateMatr;
otobrajenie;
sortirovka;
otobrajenie;
destroymatrix;
readln;
end.
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.