Загрузка данных


#include <iostream>
#include <array>
#include <clocale>

using namespace std;

// Предусловие: вводится матрица Y размером 7x6 целых чисел.
// Постусловие: с использованием std::array сформирован одномерный массив B из 6 элементов,
//              содержащий суммы отрицательных элементов каждого столбца матрицы Y; результаты выведены на экран.
void main()
{
    setlocale(LC_ALL, "Russian");

    const int ROWS = 7; // Число строк матрицы Y
    const int COLS = 6; // Число столбцов матрицы Y

    // Объявление матрицы Y (7 строк по 6 элементов) и одномерного массива B (6 элементов)
    array<array<int, COLS>, ROWS> y;
    array<int, COLS> b;

    cout << "=== Программа на std::array (Вариант 10) ===" << endl;
    cout << "Введите элементы матрицы Y (7 строк по 6 чисел):" << endl;

    // Ввод матрицы Y
    for (int i = 0; i < y.size(); i++)
    {
        for (int j = 0; j < y[i].size(); j++)
        {
            cout << "Y[" << i << "][" << j << "] = ";
            cin >> y[i][j];
        }
    }

    // Вывод исходной матрицы Y на экран
    cout << "\nМатрица Y (7x6):" << endl;
    for (int i = 0; i < y.size(); i++)
    {
        for (int j = 0; j < y[i].size(); j++)
        {
            cout << y[i][j] << "\t";
        }
        cout << endl;
    }

    // Заполнение массива B суммами отрицательных элементов столбцов
    // Внешний цикл идет по столбцам j, внутренний — по строкам i
    for (int j = 0; j < COLS; j++)
    {
        int s = 0; // Накопитель суммы для текущего столбца

        for (int i = 0; i < ROWS; i++)
        {
            if (y[i][j] < 0)
            {
                s = s + y[i][j];
            }
        }

        b[j] = s;
    }

    // Вывод одномерного массива B
    cout << "\nМассив сумм отрицательных элементов по столбцам (B):" << endl;
    for (int j = 0; j < b.size(); j++)
    {
        cout << "Столбец " << j << ": " << b[j] << endl;
    }

    system("pause");
}