Sprawdź się
Zadanie 3. Mikołajowe podstawy
Mikołaj jest zafascynowany systemami liczbowymi o różnych podstawach. Jego ulubionymi są system binarny oraz dziesiętny. Mikołaj postanowił wygenerować losowo 1000 liczb z przedziału <1, 999 999>, jedne zapisane w systemie dziesiętnym, inne w systemie binarnym.
W pliku liczby.txt znajduje się 1000 wierszy, w każdym wierszu zapisane są dwie liczby naturalne rozdzielone pojedynczym znakiem odstępu. Pierwsza liczba w wierszu wskazuje, w jakim systemie została zapisana następna liczba. Jeżeli jest to 1, oznacza to, że liczba jest zapisana w systemie dziesiętnym, a jeżeli 2 – w systemie dwójkowym.
liczby.txt.Każdą liczbę zapisaną w systemie dwójkowym zamień na liczbę w systemie dziesiętnym. Liczby po konwersji zapisz do pliku wynik.txt, każdą w oddzielnej linii.
Dla przykładowego fragmentu pliku:
poprawna odpowiedź wynosi:
Do oceny oddajesz:
plik
wynik.txtzawierający liczby w systemie dziesiętnym, które w plikuliczby.txtzapisane są w systemie dwójkowym,plik(i) z komputerową realizacją zadania (kodem programu).
Przedstaw rozwiązanie zadania w postaci programu w języku C++, Java lub Python. Odpowiedź do zadania dla danych z pliku znajdziesz pod sekcją ćwiczeń.
W przykładowym rozwiązaniu wykorzystujemy dwie tablice. Tablica liczby służy do przechowywania liczb zapisanych w danych systemach. Tablica systemy służy do przechowywania informacji o tym, w jakim systemie została zapisana dana liczba.
Element o indeksie i tablicy liczby odpowiada elementowi z tablicy systemy o indeksie i. Zatem: jeśli w tablicy liczby element o indeksie i to liczba 2705, a element o indeksie i w tablicy systemy to liczba 1, oznacza to, że w pliku liczby.txt wiersz ten ma następującą postać:
czyli odnosi się do liczby 2705 zapisanej za pomocą systemu dziesiętnego.
JĘZYK C++
JĘZYK JAVA
JĘZYK PYTHON
Odpowiedź
Odpowiedź do zadania dla danych z pliku liczby.txt znajduje się w załączniku:
wynik4.txt.