ЯП: С++
#include <iostream>
int main() {
const int N = 5;
int arr[N][N] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25}; // создаем и заполняем двумерный массив 5x5
for (int i = 0; i < N; i++) // выводим на экран 2-мерный массив;
{
for (int j = 0; j < N; j++)
{
std::cout << arr[i][j] << "\t";
}
std::cout << std::endl;
}
std::cout << "Result #1: ";
for (int i = 0; i < N; i++) // вывод в консоль главной диагонали
{
std::cout << arr[i][i] << "\t";
}
std::cout << "\nResult #2: ";
for (int i = 0; i < N; i++) // вывод в консоль побочной диагонали
{
std::cout << arr[i][N - 1 - i] << "\t";
}
return 0;
}
Объяснение:
Задача вычисления суммы элементов массива достаточно проста: все элементы массива перебираются и добавляются в одну и ту же переменную. Перебор элементов массива осуществляется в цикле for. Аналогично находится сумма элементов двумерного массива с той лишь разницей, что добавляется вложенный цикл for для прохода по элементам каждой строки матрицы.
Более сложная задача – это найти сумму не всех элементов массива, а только удовлетворяющих какому-нибудь условию или находящихся в определенных местах матрицы.
В программе ниже находится сумма всех элементов массива (переменная sum), а также сумма элементов, составляющих столбцы таблицы (двумерного массива). Для хранения сумм столбцов чисел используется одномерный массив (s).
Объяснение:
1)
var p, i: integer;
begin
p := 0;
for i := 1 to 999 do
if i mod 11 = 0 and i mod 3 != 0 then p := p + i;
write(p);
end.
2)
var p, i: integer;
begin
p :=1;
for i :=1 to 20 do
p := p * i;
write(p);
end.