Znajdowanie największej i najmniejszej z wprowadzonych wartości

0

Witam.
Od 2 dni ucze się c++. Proszę o wyrozumiałość. Polecenie mam takie. Napisz program zawierajacy petle while ktora w kazdym cyklu wczytuje tylko jedna liczbe double. Zdefiniuj 2 zmienne dzięki którym będziesz zapamietywał najwieksza i najmniejsza z wszystkich dotychczas ogladanych liczb. W kazdym cyklu petli drukuj wpisana liczbe. Jesli liczba ta akurat bedzie najwieksza lub najmniejsza ze wszystkich do tej pory wydrukuj komunikat ,, ta liczba byla najwieksza ,, lub ,, ta liczba byla najmniejsza" Cos tam staralem sie napisac. Ogolnie na razie bez uzycia tych 2 zmiennych... Ale wynik jest taki, że zawsze mi porownuje z poprzednia liczba a nie ze wszystkimi.

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    double liczba;
    vector<double> liczby;
    cout << "Prosze podac liczbe" << endl;
    while (cin >> liczba) {
        liczby.push_back(liczba);
        cout << "Podana przec ciebie liczba to: " << liczba << endl;
        for (int i = 0; i < liczby.size(); ++i)
            if (i == 0 || liczby[i - 1] < liczby[i])
                cout << "To jest najwieksza liczba" << endl;
            else if (i == 0 || liczby[i - 1] > liczby[i])
                cout << "To jest najmniejsza liczba" << endl;
    }
    return 0;
}
1

Zdefiniuj 2 zmienne dzięki którym będziesz zapamietywał najwieksza i najmniejsza z wszystkich dotychczas ogladanych liczb.

Wskaż które to zmienne (podpowiedź: nie wykonałeś tego fragmentu zadania)

vector<double>liczby;

Wskaż fragment zadania nakazujący zapamiętać wszystkie dotychczas wprowadzone liczby (podpowiedź: nie ma takiej potrzeby)

3

Przekombinowane. Nie potrzebujesz tablicy/vector-a.
Wystarczy zmienne trzymające maksimum i minimum.

#include <iostream>
#include <limits>
#include <algorithm>
 
using namespace std;
 
int main()
{
    double liczba;
    double maksimum = std::numeric_limits<double>::min();
    double minimum = std::numeric_limits<double>::max();

    cout << "Prosze podac liczby" << endl;
    while (cin >> liczba) {
           cout << liczba;
           if (liczba > maksimum) { 
                   // TODO:
                  …
           }
           if (liczba < minimum) { 
                   // TODO:
                  …
           }
           cout << '\n';
    }
    return 0;
}

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