Задачка

ferrum

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

Whatka

Well-Known Member
09.10.2011
428
4
24
Минск
#2
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";
//
не проверял