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

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Задачка

  • Автор темы 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";
//
не проверял
 
Мы в соцсетях:

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