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


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

using namespace std;

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

    const int N = 10;
    array<int, N> k;
    array<int, N> x;

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

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

    // Вывод массива x
    cout << "Массив X: ";
    for (int i = 0; i < sizeX; i++)
    {
        cout << x[i] << " ";
    }
    cout << endl;

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

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

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

        // 4. Подсчет количества положительных элементов после минимального
        int countPos = 0;
        for (int i = minIdx + 1; i < sizeX; i++)
        {
            if (x[i] > 0)
            {
                countPos++;
            }
        }

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

    system("pause");
}