Zadanie 1:
Zadeklaruj klasę IntStream implementującą strumień liczb naturalnych, która implementuje metody:int next();
bool eos();
void reset();gdzie kolejne wywołania metody next() zwracają kolejne liczby naturalne począwszy od zera, wartość metody eos() oznacza koniec strumienia, a resest() inicjuje na nowo strumień. Zadeklaruj dwie podklasy:
- PrimeStream implementującą strumień liczb pierwszych, tj. wartościami kolejnych wywołań metody next() są kolejne liczby pierwsze. Oczywiście ze względu na ograniczony rozmiar typu int możliwe jest jedynie zwrócenie liczb pierwszych mniejszych niż rozmiar typu. Gdy nie jest możliwe obliczenie kolejnej liczby pierwszej, wartość eos() powinna być true.
- klasę RandomStream, w której metoda next() zwraca liczby losowe. W takim wypadku eos() jest zawsze fałszywe. Wykorzystaj te klasy do implementacji klasy RandomWordStream realizującej strumień losowych słów o długościach równych kolejnym liczbom pierwszym.
Przykład: klik
Zadanie 4.
Zdefiniuj klasę ListaLeniwa implementującą leniwe listy całkowite wraz z metodąint element(int i);zwracającą i-ty element listy. ”Leniwość” takiej listy polega na tym, że na początku jest ona pusta, jednak w trakcie wywołania metody element(100) budowanych jest pierwszych sto elementów. Gdy wywołamy element(102) do listy dopisywane są brakujące dwa elementy. Zaimplementuj podklasę Pierwsze zawierającą listę liczb pierwszych, tj. element(i) zwraca i-tą liczbą pierwszą.
Przykład: klik
0 Odpowiedzi do “przykład klas strumieniowych”
Napisz odpowiedź