Подсчитать сумму элементов столбца j массива a[i,j], запол. случайными числами
C#
int sum = 0;
for(int j = 0; j < n; j++)
{
sum = sum + a[0,j];
}
Где n граница массива. Но это только для первой строчки!
Полная версия на паскале:
uses GraphABC;
var
sum: integer;
a: array [1..10, 1..10] of integer;
begin
for var i := 1 to 10 do
begin
for var j := 1 to 10 do
begin
a[i, j] := Random(10, 67);
end;
end;
for var j := 1 to 10 do
begin
sum := sum + a[1, j];
end;
print(sum);
end.
Работоспособность проверена
// PascalABC.NET 3.2, сборка 1379 от 21.01.2017
// Внимание! Если программа не работает, обновите версию!
begin
var m:=ReadInteger('Количество строк в массиве:');
var n:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** Исходный массив [',m,',',n,'] ***');
var a:=MatrRandom(m,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var k:=ReadInteger('Номер столбца для подсчета суммы:');
Writeln('S=',a.Col(k-1).Sum)
end.
Пример
Количество строк в массиве: 5
Количество столбцов в массиве: 8
*** Исходный массив [5,8] ***
91 -39 49 29 -60 -58 -88 -5
-80 -5 58 38 -75 -76 -54 -33
-60 -66 98 -88 96 -48 94 2
-4 81 -38 -91 26 -91 32 7
30 83 30 3 22 93 31 0
--------------------------------
Номер столбца для подсчета суммы: 4
S=-109
На случай, если я неверно понял задание и нужна сумма по КАЖДОЙ колонке:
begin
var m:=ReadInteger('Количество строк в массиве:');
var n:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** Исходный массив [',m,',',n,'] ***');
var a:=MatrRandom(m,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
a.Cols.Select(s->s.Sum).Println
end.
Пример
Количество строк в массиве: 4
Количество столбцов в массиве: 7
*** Исходный массив [4,7] ***
13 -14 82 88 -38 55 89
11 74 -35 85 13 27 -80
-88 76 -64 -88 -50 28 -13
90 87 -71 -94 -59 95 -83
----------------------------
26 223 -88 -9 -134 205 -87
Если тебя не устраивает ответ или его нет, то попробуй воспользоваться поиском на сайте и найти похожие ответы по предмету Информатика.
Найти другие ответы