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


#include <iostream>
#include <vector>
#include <clocale>

using namespace std;

// Предусловие: пользователь вводит 10 целых чисел для вектора a и значение произведения p.
// Постусловие: с использованием std::vector сформирован вектор b, где положительные элементы вектора a увеличены на p; вектор b выведен на экран.
void main()
{
    setlocale(LC_ALL, "Russian");

    const int N = 10;
    vector<int> a;
    vector<int> b;

    // Ввод элементов вектора a
    cout << "Введите 10 элементов массива A:" << endl;
    for (int i = 0; i < N; i++)
    {
        int val;
        cout << "a[" << i << "] = ";
        cin >> val;
        a.push_back(val);
    }

    // Ввод значения произведения
    int p;
    cout << "\nВведите произведение p: ";
    cin >> p;

    // Построение вектора b динамически через push_back
    for (int i = 0; i < a.size(); i++)
    {
        if (a[i] > 0)
        {
            b.push_back(a[i] + p);
        }
        else
        {
            b.push_back(a[i]);
        }
    }

    // Вывод вектора b
    cout << "\nМассив B: ";
    for (int i = 0; i < b.size(); i++)
    {
        cout << b[i] << " ";
    }
    cout << endl;

    system("pause");
}
#include <iostream>
#include <vector>
#include <clocale>

using namespace std;

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

    const int ROWS = 7;
    const int COLS = 6;

    // Двумерный вектор (вектор векторов) и вектор сумм b
    vector<vector<int>> y;
    vector<int> b;

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

    // Ввод матрицы Y через push_back строк
    for (int i = 0; i < ROWS; i++)
    {
        vector<int> row;
        for (int j = 0; j < COLS; j++)
        {
            int val;
            cout << "Y[" << i << "][" << j << "] = ";
            cin >> val;
            row.push_back(val);
        }
        y.push_back(row);
    }

    // Вывод матрицы 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;
    }

    // Подсчет сумм отрицательных элементов столбцов
    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.push_back(s); // Динамически добавляем сумму столбца в вектор b
    }

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

    system("pause");
}



#include <iostream>
#include <vector>
#include <clocale>

using namespace std;

// Предусловие: вектор k из N элементов заполнен псевдослучайными числами от -10 до 10.
// Постусловие: с помощью std::vector динамически сформирован вектор x из ненулевых элементов вектора k;
//              найден индекс минимума и вычислено количество положительных элементов после него.
void main()
{
    setlocale(LC_ALL, "Russian");

    const int N = 10;
    vector<int> k;
    vector<int> x;

    // 1. Формирование вектора k числами от -10 до 10
    cout << "Массив K: ";
    for (int i = 0; i < N; i++)
    {
        int val = rand() % 21 - 10;
        k.push_back(val);
        cout << k[i] << " ";
    }
    cout << endl;

    // 2. Формирование вектора x из ненулевых элементов через push_back
    for (int i = 0; i < k.size(); i++)
    {
        if (k[i] != 0)
        {
            x.push_back(k[i]);
        }
    }

    // Вывод вектора x
    cout << "Массив X: ";
    for (int i = 0; i < x.size(); i++)
    {
        cout << x[i] << " ";
    }
    cout << endl;

    // 3. Поиск минимума и подсчет положительных элементов после него
    if (x.size() > 0)
    {
        int minVal = x[0];
        int minIdx = 0;

        for (int i = 1; i < x.size(); i++)
        {
            if (x[i] < minVal)
            {
                minVal = x[i];
                minIdx = i;
            }
        }

        cout << "Минимальный элемент: " << minVal << endl;

        int countPos = 0;
        for (int i = minIdx + 1; i < x.size(); i++)
        {
            if (x[i] > 0)
            {
                countPos++;
            }
        }

        cout << "Количество положительных после минимального: " << countPos << endl;
    }

    system("pause");
}