Задача 5. Двумерный массив (3 балла)
Задан целочисленный двумерный массив, состоящий из N строк и M столбцов. Требуется
вычислить сумму элементов в каждой строке и в каждом столбце.
Входные данные
Первая строка содержит два натуральных числа N и M – количество строк и столбцов двумерного
массива. В каждой из последующих N строк записаны M целых чисел – элементы массива. Все числа во
входных данных не превышают 100 по абсолютной величине.
Выходные данные
В первой строке выведите N чисел – суммы элементов массива для каждой строки в отдельности.
Во второй строке в аналогичном формате выведите M чисел – суммы элементов для каждого столбца.
Третья строка должна быть пустой, а далее должны следовать N строк по M чисел – исходный массив,
определенный во входных данных.
Пример

Входные
данные
Выходные
данные
1
3 4
5 9 2 6
6 2 4 3
1 2 8 7
22 15 18
12 13 14 16
5 9 2 6
6 2 4 3
1 2 8 7

Ответ учителя по предмету Информатика

#include <iostream>

#include <cstring>

using namespace std;

int main() {

    int n,m;

    cin >> n >> m;

    int a[n][m], sn[n], sm[m]; //sn — сумма строк, sm  — сумма столбцов

    memset(sn, 0, n*sizeof(int));

    memset(sm, 0, m*sizeof(int));

    for(int i = 0; i < n; i++)

        for(int j = 0; j < m; sn[i]+= a[i][j], sm[j]+= a[i][j], j++)

            cin >> a[i][j];

    cout << endl;

    for(int i = 0; i < n; i++) cout << sn[i] << ‘ ‘;

    cout << endl << endl;

    for(int i = 0; i < m; i++) cout << sm[i] << ‘ ‘;

    cout << endl << endl;

    for(int i = 0; i < n; i++) {

        for(int j = 0; j < m; j++)

            cout << a[i][j] << ‘ ‘;

        cout << endl;

    }   

}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей