Написать программу решения следующей : для каждой из матриц a(5,5) иb(8,8) вычислить сумму и количество отрицательных элементов, расположенных на главной диагонали и выше её. использовать подпрограмму. на паскале.
// PascalABC.NET 3.2, сборка 1425 от 22.04.2017 // Внимание! Если программа не работает, обновите версию!
function KS(a:array[,] of integer):(integer,integer); begin (var k,var s):=(0,0); for var i:=0 to a.RowCount-1 do for var j:=i to a.ColCount-1 do if a[i,j]<0 then (k,s):=(k+1,s+a[i,j]); Result:=(k,s) end;
begin var a:=MatrRandom(5,5,-50,50); a.Println(4); var r:=KS(a); Writeln('k=',r[0],', Sum=',r[1]); var b:=MatrRandom(8,8,-80,45); b.Println(4); r:=KS(b); Writeln('k=',r[0],', Sum=',r[1]); end.
// Внимание! Если программа не работает, обновите версию!
function KS(a:array[,] of integer):(integer,integer);
begin
(var k,var s):=(0,0);
for var i:=0 to a.RowCount-1 do
for var j:=i to a.ColCount-1 do
if a[i,j]<0 then (k,s):=(k+1,s+a[i,j]);
Result:=(k,s)
end;
begin
var a:=MatrRandom(5,5,-50,50); a.Println(4);
var r:=KS(a); Writeln('k=',r[0],', Sum=',r[1]);
var b:=MatrRandom(8,8,-80,45); b.Println(4);
r:=KS(b); Writeln('k=',r[0],', Sum=',r[1]);
end.
Пример
-9 -41 -6 -49 36
6 -7 -2 -1 28
22 -29 -20 -12 7
-11 -37 14 34 -41
-23 11 -9 -26 -46
k=11, Sum=-234
9 34 -68 -32 -43 -61 -19 -55
-66 3 -79 41 -47 27 -7 31
-71 -7 -26 28 -58 -2 -61 -77
-66 39 -39 -76 -13 2 21 6
-56 42 -61 1 -39 -69 -57 -2
-51 -79 -57 10 -10 -27 29 19
-48 -55 -56 -76 43 -32 29 -70
15 -71 -46 -37 23 -24 3 -22
k=23, Sum=-1010