Jak wyświetlic najwieksza i najmniejsza liczbe za pomoca wektorów?

0

Mogłby ktos poprawic wiem ze sa bledy pewnie ze glupio daje to x do vectorow

int main()
    {
    double x;
    vector<double> najwieksza;
    najwieksza.push_back(0);
    vector<double> najmniejsza;
    najmniejsza.push_back(0);

    while (cin >> x)
    {
        cout << x;
        if ( x > najwieksza[x] )
        {
            najwieksza.push_back(x);
            sort(najwieksza.begin(), najwieksza.end());
            cout << " ta byla jak do tej pory najwieksza" << endl;
        }
        else if ( x < najmniejsza[x] )
        {
            najmniejsza.push_back(x);
            sort (najmniejsza.end(), najmniejsza.begin());
            cout << " ta byla jak do tej pory najmniejsza" << endl;
        }
    }
    return 0;

}
0

Jaka jest treść zadania? Kod nie ma sensu, pytanie z tytułu też (jak można jechać samochodem za pomocą kierownicy?????).

https://dsp.krzaq.cc/post/445/jak-zadawac-pytania-na-forum/

0

Hej,
używanie wektorów w tym przypadku, to jak pieprzenie kotka za pomocą młotka, przeanalizuj (kod na pewno nie jest idealny):

int main()
    {
    double x;
    double najwieksza = -100000;
    double najmniejsza = 100000;
 
    while (cin >> x)
    {
        if ( x > najwieksza) { najwieksza = x;}
        if ( x < najmniejsza) { najmniejsza = x;}
    }
    cout << najwieksza << endl;
    cout << najmniejsza;
    return 0;
}
0

Po co ten podział na dwa vectory?
Nie możesz załadować wszystkich liczba do jednego kontenera i wyłowić std::minmax_element wartości minimalnej i maksymalnej?

0

chcialem chyba na sile uzyc tych vectorow bo m.in podrozdzial byl o vectorach a mozna to po prostu zrobic za pomoca 2 zmiennych

1

To zależy od tego, czy wszystkich liczb będziesz jeszcze używał w programie. Wtedy kontener będzie jak najbardziej na miejscu.

0

w tym zadaniu nie ale rzeczywiscie teraz patrze na kolejne i bedzie trzeba zadanie zmodyfikowac i bedzie trzeba uzyc pozostalych wartosci

0

Zerknij do podrzuconego linku. Tam jest przykład użycia vector. Potrzebne algorytmy znajdziesz tutaj.

0

problem rozwiazany efekt koncowy

#include "std_lib_facilities.h"

int main()
{
    double x;
    vector<double> liczba;

    while (cin >> x)
    {

        liczba.push_back(x);
        sort(liczba.begin(), liczba.end());

        if ( x == liczba.back() )
            cout << " ta liczba byla jak do tej pory najwieksza" << endl;

        if ( x == liczba.front() )
            cout << " ta liczba byla jak do tej pory najmniejsza" << endl;

        liczba.push_back(x);
        sort(liczba.begin(), liczba.end());

    }
    return 0;
}

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