graphlogo

Wydział Matematyki i Informatyki

Uniwersytetu Mikołaja Kopernika w Toruniu

NSI 2023/2024 - Programowanie I

[K2] Rozszerzająca się tablica II
Języki: c cpp
Limit czasu: 5.0 s
Limit pamięci: 16 MB
Limit rozmiaru rozwiązania: 100 kB

Zaprojektuj szablon klasy dynamicznie rozszerzającej się tablicy elementów dowolnego typu. Implementacja powinna zawierać co najmniej przeciążony operator [] oraz metodę push_back() dodającą nowy element na koniec tablicy. Obiekt powinien zostać utworzony z domyślnym rozmiarem tablicy wynoszącym 100 elementów. W przypadku konieczności dodania elementu na miejscu przekraczającym rozmiar tablicy, powinna ona powiększyć swój rozmiar dwukrotnie (wykorzystaj dynamiczny przydział pamięci).

Program wykorzystujący dynamicznie rozszerzającą się tablicę powinien przeczytać ze standardowego wejścia skrót oznaczający typ danych (i - int, d - double), a następnie ciąg operacji do wykonania. Operacje oznaczone są symbolami + oraz -. Po wczytaniu symbolu + program powinien wczytać ze standardowego wejścia element odpowiedniego typu danych (int/double w zależności od zawartości pierwszego wiersza), a następnie dodać ją jako nowy element na koniec tablicy. Po wczytaniu symbolu - program powinien wydrukować na standardowym wyjściu wartość najmniejszego oraz największego elementu zawartego w tablicy (liczby typu double powinny być drukowane z dokładnością do jednej pozycji po przecinku).

Podpowiedź: Wykorzystaj swoją implementację dynamicznie rozszerzającej się tablicy przygotowaną jako rozwiązanie jednego z poprzednich zadań.

Przykładowe dane
Wejście:
d
+ 4.0
+ 6.0
-
+ 3.0
+ 8.0
+ 7.0
-
+ 3.0
+ 2.0
+ 14.0
-
+ 1
Wyjście:
Min = 4.0 Max = 6.0
Min = 3.0 Max = 8.0
Min = 2.0 Max = 14.0
Powrót
© 2009-2020 • ZawodyWeb Team
IKS - Inwestycja w Kierunki Strategiczne na Wydziale Matematyki i Informatyki UMK

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego