Mam problem, piszę prosty program który ma za zadanie pobierać od użytkownika liczby do momentu gdy ten poda w końcu kropkę.
Następnie spośród podanych liczb mają zostać wypisane te które są większe od 7.
Problem polega na tym że za każdym razem gdy wypisywane są liczby większe od 7 poprzedzone są kropką, nie wiem w jaki inny sposób mógłbym zatrzymać tą pętlę ani w jaki sposób dodać warunek tak by kropka NIE DODAWAŁA się do vectora.
Jakieś pomysły ?
#include <iostream>
#include <vector>
#include <algorithm>
#include <stdio.h> // dla getchar();
using namespace std;
bool czyWieksza(int n)
{
return n>3;
}
int main(void)
{
vector<int> vs;
int n, c;
cout << "Podaj liczby prosze: ";
do {
cout << "podaj liczbe: ";
cin >> n;
vs.push_back(n);
c=getchar();
putchar(c);
} while(c != '.');
vector<int>::iterator ek = find_if(vs.begin(), vs.end(), czyWieksza);
while(ek!=vs.end())
{
cout << *ek << " ";
ek = find_if(ek+1, vs.end(), czyWieksza);
}
}