Vector w pętli z warunkiem

Odpowiedz Nowy wątek
2019-01-10 02:11
0

Zadanie: Zdefiniuj pusty wektor i dopisz do niego pięć parzystych liczb całkowitych pobranych z
klawiatury. Zabezpiecz proces wpisywania przed omyłkowym podaniem innej liczby –
wysłanie ostrzeżenia i kontynuacja. Na koniec wyświetl rozmiar wektora oraz wszystkie
wartości elementów

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    vector<int> parz;
    unsigned int p;
    for(int i=0; i<5; i++){
        cin>>p;
        if(p%2==0){
            parz.push_back(p);
        }
        else cout<<"Liczba musi byc parzysta"<<endl;
        }
    for(int i=0; i<5; i++)
        cout<<parz.at(i)<<endl;
    cout<<"elementow: "<<parz.size();
    return 0;
}

Pomoże mi ktoś przekształcić kod żeby iterator w pętli nie zwiększał się po wpisaniu liczby nieparzystej? Z góry dzięki!

Pozostało 580 znaków

2019-01-10 02:12
kq

Użyj while zamiast fora, zapętl dopóki wielkość parz jest mniejsze od 5


Pozostało 580 znaków

2019-01-10 09:14
0

Inna opcja to usunąć z tego for-a co masz warunek kontynuacji:

for(int i = 0; ; i++)

i dodać instrukcję break w if-ie dodającym do wektora, jeśli jego wielkość wyniesie 5. Jednakże, poniższy zapis chyba będzie poprawniejszy:

do
{
   //dodaj do wektora liczbę parzystą
}
while (parz.size() < 5);

"Sugeruję wyobrazić sobie Słońce widziane z orbity Merkurego, a następnie dupę tej wielkości. W takiej właśnie dupie specjalista ma teksty o wspaniałej atmosferze, pracy pełnej wyzwań i tworzeniu innowacyjnych rozwiązań. Pracuje się po to, żeby zarabiać, a z resztą specjalista sobie poradzi we własnym zakresie, nawet jeśli firma mieści się w okopie na granicy obu Korei."
-somekind,
konkretny człowiek-konkretny przekaz :]
edytowany 1x, ostatnio: MasterBLB, 2019-01-10 09:16

Pozostało 580 znaków

2019-01-10 20:51
0

while/do...while o wiele lepsze. for sugeruje, że wykona dokładnie n obiegów, a w tym przypadku nie wiemy ile razy użytkownik wpisze liczbę z zamkniętymi oczami ;)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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