Помогите пожалуйста! Написать программу решения следующей задачи: Для каждой из матриц...

0 голосов
50 просмотров

Помогите пожалуйста!
Написать программу решения следующей задачи: Для каждой из матриц A(5,5) иB(8,8) вычислить сумму и количество отрицательных элементов, расположенных на главной диагонали и выше её. Использовать подпрограмму. На паскале.


Информатика (25 баллов) | 50 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// 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]);<br>  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
(150k баллов)
0

Спасибо большое