program progname;
const
rows = 5;
cols = 5;
type
TArr = array[1..rows, 1..cols] of Integer;
var
arr: Tarr;
i, j, l, tmp: Integer;
isNeg: Boolean;
procedure swap(var a, b: Integer);
var
tmp: Integer;
begin
tmp:=a;
a:=b;
b:=tmp;
end;
begin
randomize; //Заполнение рандомно матрицы и ее вывод
writeln('Исходная матрица:');
for i:=1 to rows do
begin
for j:=1 to cols do
begin
arr[i, j]:=random(30) - 10;
write(arr[i, j]:4);
end;
writeln;
end;
writeln('Пункт 1:'); //Пункт 1
for i:=1 to rows do
begin
isNeg:=false;
for j:=1 to cols do
if arr[i, j] < 0 then
isNeg:=true;
if isNeg then
begin
writeln('Строка с отрицательным элементом! Индекс ', i);
break;
end;
end;
writeln('Пункт 2'); //Пункт 2
for i:=1 to rows - 1 do
for j:=i + 1 to cols do
if arr[i, j] < 0 then
arr[i, j] := abs(arr[i, j]);
for i:=1 to rows do
begin
for j:=1 to cols do
write(arr[i, j]:4);
writeln;
end;
writeln('Пункт 3'); //Пункт 3
for i:=2 to cols do
begin
tmp:=arr[rows, i];
j:=i - 1;
while (j > 0) and (tmp < arr[rows, j]) do
begin
arr[rows, j + 1]:=arr[rows, j];
for l:=1 to rows - 1 do
swap(arr[l, j + 1], arr[l, j]);
dec(j);
end;
arr[rows, j + 1]:=tmp;
end;
for i:=1 to rows do
begin
for j:=1 to cols do
write(arr[i, j]:4);
writeln;
end;
end.
cHJvZ3JhbSBwcm9nbmFtZTsKY29uc3QKICByb3dzID0gNTsKICBjb2xzID0gNTsKdHlwZQogIFRBcnIgPSBhcnJheVsxLi5yb3dzLCAxLi5jb2xzXSBvZiBJbnRlZ2VyOwp2YXIKICBhcnI6IFRhcnI7CiAgaSwgaiwgbCwgdG1wOiBJbnRlZ2VyOwogIGlzTmVnOiBCb29sZWFuOwogIApwcm9jZWR1cmUgc3dhcCh2YXIgYSwgYjogSW50ZWdlcik7CnZhcgogIHRtcDogSW50ZWdlcjsKYmVnaW4KICB0bXA6PWE7CiAgYTo9YjsKICBiOj10bXA7CmVuZDsKICAKYmVnaW4KICByYW5kb21pemU7IC8v0JfQsNC/0L7Qu9C90LXQvdC40LUg0YDQsNC90LTQvtC80L3QviDQvNCw0YLRgNC40YbRiyDQuCDQtdC1INCy0YvQstC+0LQKICB3cml0ZWxuKCfQmNGB0YXQvtC00L3QsNGPINC80LDRgtGA0LjRhtCwOicpOwogIGZvciBpOj0xIHRvIHJvd3MgZG8KICBiZWdpbgogICAgZm9yIGo6PTEgdG8gY29scyBkbwogICAgYmVnaW4KICAgICAgYXJyW2ksIGpdOj1yYW5kb20oMzApIC0gMTA7CiAgICAgIHdyaXRlKGFycltpLCBqXTo0KTsKICAgIGVuZDsKICB3cml0ZWxuOwogIGVuZDsKICB3cml0ZWxuKCfQn9GD0L3QutGCIDE6Jyk7ICAvL9Cf0YPQvdC60YIgMQogIGZvciBpOj0xIHRvIHJvd3MgZG8KICBiZWdpbgogICAgaXNOZWc6PWZhbHNlOwogICAgZm9yIGo6PTEgdG8gY29scyBkbwogICAgICBpZiBhcnJbaSwgal0gPCAwIHRoZW4KICAgICAgICBpc05lZzo9dHJ1ZTsKICAgIGlmIGlzTmVnIHRoZW4KICAgIGJlZ2luCiAgICAgIHdyaXRlbG4oJ9Ch0YLRgNC+0LrQsCDRgSDQvtGC0YDQuNGG0LDRgtC10LvRjNC90YvQvCDRjdC70LXQvNC10L3RgtC+0LwhINCY0L3QtNC10LrRgSAnLCBpKTsKICAgICAgYnJlYWs7CiAgICBlbmQ7CiAgZW5kOwogIHdyaXRlbG4oJ9Cf0YPQvdC60YIgMicpOyAgLy/Qn9GD0L3QutGCIDIKICBmb3IgaTo9MSB0byByb3dzIC0gMSBkbwogICAgZm9yIGo6PWkgKyAxIHRvIGNvbHMgZG8KICAgICAgaWYgYXJyW2ksIGpdIDwgMCB0aGVuCiAgICAgICAgYXJyW2ksIGpdIDo9IGFicyhhcnJbaSwgal0pOwogIGZvciBpOj0xIHRvIHJvd3MgZG8KICBiZWdpbgogICAgZm9yIGo6PTEgdG8gY29scyBkbwogICAgICB3cml0ZShhcnJbaSwgal06NCk7CiAgICB3cml0ZWxuOwogIGVuZDsKICB3cml0ZWxuKCfQn9GD0L3QutGCIDMnKTsgIC8v0J/Rg9C90LrRgiAzCiAgZm9yIGk6PTIgdG8gY29scyBkbwogIGJlZ2luCiAgICB0bXA6PWFycltyb3dzLCBpXTsKICAgIGo6PWkgLSAxOwogICAgd2hpbGUgKGogPiAwKSBhbmQgKHRtcCA8IGFycltyb3dzLCBqXSkgZG8KICAgIGJlZ2luCiAgICAgIGFycltyb3dzLCBqICsgMV06PWFycltyb3dzLCBqXTsKICAgICAgZm9yIGw6PTEgdG8gcm93cyAtIDEgZG8KICAgICAgICAgIHN3YXAoYXJyW2wsIGogKyAxXSwgYXJyW2wsIGpdKTsKICAgICAgZGVjKGopOwogICAgZW5kOwogICAgYXJyW3Jvd3MsIGogKyAxXTo9dG1wOwogIGVuZDsKICBmb3IgaTo9MSB0byByb3dzIGRvCiAgYmVnaW4KICAgIGZvciBqOj0xIHRvIGNvbHMgZG8KICAgICAgd3JpdGUoYXJyW2ksIGpdOjQpOwogICAgd3JpdGVsbjsKICBlbmQ7CmVuZC4=