Напишите код программы на c++ для решения следующей : дана матрица размером m*n. вычислите суммы элементов каждого столбца. определите наибольшее значение этих сумм и номер соответствующего столбца.

Darwin111 Darwin111    2   12.08.2019 13:10    0

Ответы
21Алина111 21Алина111  04.10.2020 13:27
#include <iostream>

using namespace std;

int main()
{
    int m, n;

    // Выделение памяти и ввод матрицы
    cout << "m = ";
    cin >> m;
    cout << "n = ";
    cin >> n;

    int **matrix = new int*[m];
    for (int i = 0; i < m; ++i)
    {
        matrix[i] = new int[n];
        for (int j = 0; j < n; ++j)
            cin >> matrix[i][j];
    }

    // Вычисление суммы элементов каждого столбца. Определение наибольшего
    // значения этих сумм и номер соответсвующего столбца
    int sum, max_sum = INT_MIN, max_column;
    for (int j = 0; j < n; ++j)
    {
        sum = 0;
        for (int i = 0; i < m; ++i)
            sum += matrix[i][j];
        cout << "Column " << j << " - sum " << sum << endl;
        
        if (sum > max_sum)
        {
            max_sum = sum;
            max_column = j;
        }
    }
    cout << "Max sum in column " << max_column << ". Max sum is " << max_sum << "." << endl;

    // Удаление матрицы
    for (int i = 0; i < m; ++i)
        delete[] matrix[i];
    delete[] matrix;
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика