Sprawdź się
Zadanie 3. Skażone produkty
Produkty w magazynie zakładu chemii gospodarczej w Dolinie Bajtowej przechowywane są na regale, na którym mieści się 15 000 artykułów ustawionych obok siebie. Każde miejsce na regale oznaczone jest liczbą całkowitą – zaczynając od 1, kończąc na . Produkty określa identyfikator złożony z trzech cyfr (liczby całkowitej z przedziału ). Zakład dba o to, aby artykuły były posortowane zgodnie z identyfikatorami, w kolejności niemalejącej.
Plik produkty.txt
zawiera 15 000 wierszy z posortowanymi identyfikatorami produktów – liczby całkowite z przedziału .
Przykładowe dane z pliku:
100
229
853
W procesie produkcji jednego z artykułów wkradł się błąd, co spowodowało, że nie nadaje się on do sprzedaży. Ponadto okazało się, że produkt ten, stojąc w magazynie, mógł doprowadzić do skażenia innych produktów znajdujących się w jego sąsiedztwie.
Po wykonaniu analiz udało się zidentyfikować produkt, który powinien zostać usunięty z magazynu. Był to artykuł o identyfikatorze 229. Ustalono także, że dla bezpieczeństwa należy zutylizować 20 produktów stojących na lewo oraz 20 produktów stojących na prawo od źródła skażenia.
Mając do dyspozycji spis identyfikatorów produktów znajdujących się na regale w magazynie (produkty są posortowane), napisz program, który znajdzie miejsca na regale, z których artykuły powinny trafić do utylizacji, a dokładnie miejsce pierwszego oraz miejsce ostatniego zutylizowanego produktu, a następnie zapisze je do pliku utylizacja.txt
.
Do sprawdzenia swojego programu możesz wykorzystać ćwiczenia, w których umieszczono fragment danych zawartych w pliku produkty.txt
. W tym wypadku przyjmij, że regał magazynu ma 50 miejsc. Liczby będące odpowiedzią do zadania wypisz, oddzielając znakiem nowej linii.
Do oceny oddajesz:
plik
utylizacja.txt
zawierający odpowiedź (miejsce pierwszego oraz miejsce ostatniego zutylizowanego produktu)plik(i) z komputerową realizacją zadania (kodem programu)
Przedstaw rozwiązanie zadania, pisząc program w języku C++, Java lub Python. Zadbaj o prawidłowe wczytanie danych z pliku tekstowego. Rozwiązanie zadania znajduje się pod sekcją ćwiczeń.
C++
Twoje zadanie: Napisz program odnajdujący pierwsze i ostatnie miejsce produktów, które należy zutylizować.
Java
Twoje zadanie: Napisz program odnajdujący pierwsze i ostatnie miejsce produktów, które należy zutylizować.
Python
Twoje zadanie: Napisz program odnajdujący pierwsze i ostatnie miejsce produktów, które należy zutylizować.
Odpowiedź do zadania
Rozwiązanie dla danych zawartych w pliku tekstowym produkty
.txt
: