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

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

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

    Скидки до 10%

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

Задачка

  • Автор темы ferrum
  • Дата начала
F

ferrum

Добрый день,дорогие форумчане!Я битый час сижу над задачкой и никак не могу ее сделать...Надеюсь найдется тот,кто сможет сделать ее..буду очень очень благодарен.. даны 4 числа:a,b,c,d.Если среди них одно положительное,то наименьшее из этих чисел увеличить на полусумму оставшихся.если среди них ровно три положительных,то наибольшее из этих чисел возвести в квадрат.В противном случае минимальное число заменить на максимальное из отрицательных.вывести все числа
 
W

Whatka

C++:
//
std::vector<float> Num4;
float temp;
for(int i=0;i<4;i++)
{
std::cin>>temp;
Num4.push_back(temp);
}
std::sort(Num4.begin(),Num4.end());
if(Num4[3]>0 && Num4[2]<0)
{
temp=0;
for(int i=1;i<4;i++)
temp+=Num4[i];
Num4[0]+=temp/2;
}
else
{
if(Num4[0]<0 && Num4[1]>0)
Num4[3]*=Num4[3];
else 
{
if(Num4[3]<0)
std::swap(Num4[0],Num4[3]);
else
std::swap(Num4[0],Num4[1]);
}
}
for(int i=0;i<4;++i)
std::cout<<Num4[i]<<" ";
std::cout<<"\n";
//
не проверял
 
Мы в соцсетях:

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