Помощ за алгоритъм
Здравейте. Трябва ми алгоритъм за намирането на двете най-малки числа от три числа. Това е което аз измислих :
double x, y, z;
double min1, min2;
if (x<y)
{
min1 = x;
if (y<=z)
{
min2 = y;
}
else min2 = z;
}
if (y<x)
{
min1 = y;
if (x <= z)
{
min2 = x;
}
else
min2 = z;
}
if (z<x)
{
min1 = z;
if (x <= y)
{
min2 = x;
}
else
min2 = y;
}
Работи, но съм убеден, че има как да се измисли много по-просто и без толкова if-ове.. Благодаря предварително
Да, това беше първото за което се сетих, ама нещо не проработи. Явно нещо пропускам.
Ами напиши го пак и дай да видим защо не работи.
if a > b than if a > c return b and c else a and b
else if b > c return a and c else a and b
Разбира се това може да се запише и във вида:
if a > b than if a > c return b and c
else if b > c return a and c
return a and b
Но понеже още не сме стигнали до там, препоръчвам първия вариант ;) А ако и така не ти е ясно, ето го и съвсем дърварската:
if a > b and a > c return b and c else if b > a and b > c return a and c else a and b
Хм, то пък така май взе че стана по-готино даже ;)