#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");
}