Заполнить массив случайными числами в интервале [-100,100] и переставить элементы так, чтобы все положительные элементы стояли в начала массива, а все отрицательные и нули – в конце. Вычислите количество положительных элементов Пример Массив 20 -90 15 -34 10 Результат 20 15 10 -90 -34 Количество положительных элементов: 3
int main()
const int size = 10srand(time(0));
int arr[size]
int positiveCount = 0
for (int i = 0; i < size; i++)
arr[i] = rand() % 201 - 100
if (arr[i] > 0
positiveCount++
std::cout << "Массив:\n"
for (int i = 0; i < size; i++)
std::cout << arr[i] << " "
int startPos = 0
int endPos = size - 1
while (startPos < endPos)
if (arr[startPos] <= 0)
while (arr[endPos] <= 0 && startPos < endPos)
endPos--
if (startPos < endPos)
std::swap(arr[startPos], arr[endPos])
endPos--
startPos++
std::cout << "\nРезультат:\n"
for (int i = 0; i < size; i++)
std::cout << arr[i] << " "
std::cout << "\nКоличество положительных элементов: " << positiveCount << std::endl
return 0;
}