program PascalGuru;
uses crt;
var
A: array [1 .. 50, 1 .. 50] of integer;
B, C: array [1 .. 50] of integer;
i, j, n, summa, min, count, max_c: integer;
procedure exchange(var A, B: integer);
var
C: integer;
begin
C := A;
A := B;
B := C;
end;
{ ---------------------------------------------------- }
begin
write('Razmer matritsy= ');
readln(n);
for i := 1 to n do
for j := 1 to n do
begin
write('A[', i, ',', j, ']= ');
readln(A[i, j]);
end;
clrscr;
write('A:');
for i := 1 to n do
begin
writeln;
for j := 1 to n do
write(A[i, j]:8);
end;
writeln;
writeln;
for i := 1 to n do
begin
summa := 0;
for j := 1 to n do
summa := summa + A[i, j];
B[i] := summa;
end;
min := B[1];
for i := 2 to n do
if B[i] < min then
min := B[i];
writeln;
writeln;
writeln('Min= ', min);
writeln;
writeln;
if min >= 0 then
begin
for j := 1 to n do
exchange(A[2, j], A[3, j]);
write('A:');
for i := 1 to n do
begin
writeln;
for j := 1 to n do
write(A[i, j]:8);
end;
end
else
begin
for j := 1 to n do
begin
count := 0;
for i := 1 to n do
if A[i, j] < 0 then
inc(count);
C[j] := count;
max_c := 1;
for i := 2 to n do
if C[i] > C[max_c] then
max_c := i;
end;
for i := 1 to n do
for j := max_c + 1 to n do
A[i, j - 1] := A[i, j];
write('A:');
for i := 1 to n do
begin
writeln;
for j := 1 to n - 1 do
write(A[i, j]:8);
end;
end;
readln;
end.