Срочно Нужна Подмога C++

  • Автор темы Helpme
  • Дата начала
H

Helpme

Гость
#1
Ужасно не хватает времени помогите пожалуйста с задачкой.
Пользователь вводит числа заканчивая 0. Определить меньшее среди положительных чисел и самое большое среди отрицательных.

Тоесть вводишь : -12 , -14, -1, 2 , 10 , 5, 0

А выдаёт : max среди отрицательных -1
min среди положительных 2
 
A

AnnaSemenova

Гость
#2
А известно ли количество введенных чисел? Если да, то могу попробовать через массив. Если нет, то увы, в динамических массивах я не сильна.
 
R

rrrFer

Гость
#3
не проверял:

Код:
std::vector<int> vec;
int min, max;
std::for_each(vec.begin(), vec.end(),[&min,&max](int t){
if (t > 0 && min > t ) min = t;
else if (t < 0 && max < t ) max = t;
});
 
E

Eleno4ka

Гость
#4
не проверял:

Код:
std::vector<int> vec;
int min, max;
std::for_each(vec.begin(), vec.end(),[&min,&max](int t){
if (t > 0 && min > t ) min = t;
else if (t < 0 && max < t ) max = t;
});
Вариант предположительно верен, но человек не указывал необходимость использования std. Возможно необходимо более "банальное" решение