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));

;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1