Дана целочисленная квадратная матрица.Определить: 1)сумму элементов в тех столбцах,которые не содержат отрицательных элементов;(оформить в виде функции). 2)минимум среди сумм модулей элементов диагоналей,параллельных побочной диагонали матрицы.(оформить в виде процедуры) — Pascal(Паскаль)

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.

Leave a Comment

63 − = 61