Заданы 2 матрицы A(6,6), B(6,6). Выполнить указанные преобразования – 2 для той матрицы, которая отвечает заданному условию – 1
Категория: Delphi/Pascal
2012-02-28 22:20:00
Условие 1 – выполнить в подпрограмме FUNCTION, условие 2 – выполнить в подпрограмме PROCEDURE. Например, для матрицы, в которой max элемент в первой строке больше – (это условие 1) просуммировать элементы в каждом столбце – (это условие 2).
Условие 1: количество нулевых элементов больше;
Условие 2: Найти сумму всех элементов, расположенных до главной диагонали.
code: #pascal
program PascalGuru; uses crt; type arr=array[1..6,1..6] of integer; vector=array[1..6] of integer; var A,B:arr; i,j,s:integer; {----------------------------------------} function countNull(X:arr):integer; var i,j,rez:integer; begin rez:=0; for i:=1 to 6 do for j:=1 to 6 do if X[i,j]=0 then inc(rez); countNull:=rez; end; {----------------------------------------} procedure summa(X:arr; var summa:integer); var i:integer; begin summa:=0; for i:=1 to 6 do summa:=summa+X[i,i] end; {----------------------------------------} begin for i:=1 to 6 do for j:=1 to 6 do A[i,j]:=-8+random(26); for i:=1 to 6 do for j:=1 to 6 do B[i,j]:=-8+random(26); write ('Vot matrica A:'); for i:=1 to 6 do begin writeln; for j:=1 to 6 do write (A[i,j]:8,' '); end; writeln;writeln; write ('Vot matrica B:'); for i:=1 to 6 do begin writeln; for j:=1 to 6 do write (B[i,j]:8,' '); end; writeln;writeln; if countNull(A)>countNull(B) then begin summa(A,s); writeln('Summa gl.diag. matricy "A": ',s); end else begin summa(B,s); writeln('Summa gl.diag. matricy "B": ',s); end; readln; end.
Поделиться: