# Wyświetl najmniejszą wartość z : a, b, c, d

0

Mam problem z banalnym [jednak nie ogarniam] błędem, oto gotowy kod:

``````#include <iostream>

using namespace std;

int main()
{
float a,b,c,d;
cout << "a: ";
cin >> a;
cout << "\nb: ";
cin >> b;
cout << "\nc: ";
cin >> c;
cout << "\nd: ";
cin >> d;

cout << endl << endl;
if(a > b) // 1
{
if(b > c)
{ // 2
if(c>d)
{
cout << d;
}
else
{
cout << c;
}

else if(b>d)
{
cout << d;
}
else
{
cout << b;
}
}
else if(a > c)
{ // 2
if(c>d)
{
cout << d;
}
else
{
cout << c;
}

else if(a>d)
{
cout << d;
}
else
{
cout << a;
}
}

}
system("pause>nul");
return 0;
}

``````
2

za dużo kombinujesz.

``````float min = a;
if (b<min) min = b;
if (c<min) min = c;
if (d<min) min = d;
cout << min;
``````
0

Albo tak:

``````float min1 = (std::min)(a,b);
float min2 = (std::min)(c,d);
min1 = (std::min)(min1, min2);
cout << min1;
``````
0
##### vpiotr napisał(a)

Albo tak:

``````float min1 = (std::min)(a,b);
float min2 = (std::min)(c,d);
min1 = (std::min)(min1, min2);
cout << min1;
``````

to samo, minej kodu, ale mniej czytelnie:

``````std::cout<<(std::min)(std::min(a,b), std::min(c,d));
``````

;)