• Предмет: Информатика
  • Автор: nikitos48rus03
  • Вопрос задан 8 лет назад

Задача 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

Ответы

Ответ дал: svprog
0
#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;
    }   
}
Вас заинтересует