Program czytający z wejścia ciąg liczb całkowitych

0

Hej, mam takie zadanko: napisać program, czytający z wejścia ciąg liczb całkowitych nieujemnych i wypisujący na wyjściu te z nich, które mają przewagę cyfr dziesiętnych większych niż czwórki.
Mój problem polega na tym, że nie wiem jak wczytać ten ciąg liczb. Bo jeśli zadanie by brzmiało: wczytaj liczbę i wypisz...(warunek) to spoko.
Z góry dzięki za jakąkolwiek pomoc.

0
while(cin>>a)
0

No ok, tylko wczytam te liczby: np. 123424 5242 234235 i potem gdzie je zapisywać? Każdą w oddzielnej tablicy czy jak?

0

A po co je zapisywać?

0

Czyli to ma być tak, że wczytuję liczbę, od razu sprawdzam warunek i wypisuję ją, potem wczytuję następną liczbę i sprawdzam itd?

0

Ok, myślałem, że tu coś trudniejszego jest. A w analogicznym zadaniu tylko, że wypisać trzeba te z nich, które są większe od przynajmniej trzech poprzednich? Bo tutaj już muszę je zapisać.

0

A taka prosta wskazówka dla początkującego? :)

I czy da się to zrobić nie używając tablic? Bo umieszczenie tego zadania w zbiorze właśnie na to wskazuje.

0

Wskazówka dla początkującego - podawaj pełną treść zadania.

0
#include <iostream>
using namespace std;

int main()
{
  int a, b, c, d;
  cin>>a>>b>>c;
  while(cin>>d)
  {
    if(d>a && d>b && d>c)
      cout<<d<<' ';
    a = b, b = c, c = d;
  }
  return 0;
}

Chociażby tak.

1
#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
  int T[4];
  for(int i = 0; i < 3; ++i)
    cin>>T[i];
  while(cin>>T[3])
  {
    int former = T[3];
    sort(T, T+4);
    if(former == T[3] && former != T[2]) // co wlasciwie sprowadza sie do if(former > T[2])
      cout<<former<<' ';
  }
  return 0;
}

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