Program z1;
uses crt;
const
n=10;
type
matr = array[1..n,1..n] of integer;
var
i,j,ks1,ks2,min:integer;
a:matr;
summb:boolean;
procedure summd(m1:matr; var m:integer);
var i,j,k:integer;
s:array[1..n*2] of integer;
begin
k:=0;
for i:=1 to n do begin
for j:=1 to n do begin
s[j+k]:=s[j+k]+abs(a[i,j]);
end;
k:=k+1;
end;
m:=s[1];
for i:=1 to n*2-1 do
if s[i]<m then m:=s[i];
end;
function sum(j:integer):integer;
var i,s:integer;
begin
for i:=1 to n do s:=s+a[i,j];
sum:=s;
end;
begin
clrscr;
randomize;
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=random(50)-25;
write(a[i,j]:3);
end;
writeln;
end;
writeln;
for j:=1 to n do begin
summb:=true;
for i:=1 to n do begin
if a[i,j]<0 then summb:=false;
end;
if summb then begin
writeln('Summa ',j,' stolbca = ',sum(j));
ks1:=ks1+1;
end;
end;
if ks1=0 then writeln('Net stolbcov ne soderj otric el-v!');
summd(a,min);
writeln('Minimalnaya summa diagonalei paral gl diag: = ',min);
readkey;
end.