• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

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

Helpme

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

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

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

AnnaSemenova

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

rrrFer

не проверял:

Код:
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

не проверял:

Код:
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. Возможно необходимо более "банальное" решение
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!