• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

zadanie maturalne 2013 c++

VPS Starter Arubacloud
0 głosów
1,865 wizyt
pytanie zadane 9 października 2016 w C i C++ przez Krystek102 Bywalec (2,440 p.)
Witam,chciałbym zrobić zadanie

Zadanie 6. Liczby (10 pkt)
W pliku dane.txt znajduje się 5 000 liczb całkowitych z przedziału od 108 do 20000008,
zapisanych w systemie ósemkowym, po jednej liczbie w wierszu. W wybranym przez siebie
języku programowania napisz program, za pomocą którego uzyskasz odpowiedzi
na poniższe polecenia. Odpowiedzi zapisz w pliku wyniki6.txt, a odpowiedź do każdego
podpunktu poprzedź literą oznaczającą ten podpunkt.
a) Ile spośród liczb zapisanych w pliku dane.txt spełnia taki warunek, że pierwsza cyfra
tej liczby jest równa ostatniej cyfrze tej samej liczby?
b) Podaj, ile liczb w pliku dane.txt, po ich zapisaniu w systemie dziesiętnym, spełnia
warunek podany w podpunkcie a), tzn. pierwsza cyfra liczby jest równa ostatniej cyfrze
tej samej liczby.
Przykład: Liczba 2038 = 13110 spełnia podany warunek, natomiast 71238 = 366710 nie
spełnia żądanego warunku.
c) Ile spośród liczb zapisanych w pliku dane.txt spełnia warunek, że rozpoczynając od
najbardziej znaczącej cyfry w zapisie ósemkowym, każda kolejna cyfra tej liczby nie jest
mniejsza od cyfry poprzedzającej? Podaj największą i najmniejszą liczbę z pliku
dane.txt, które spełniają ten warunek.
Przykład: Liczba 123357 spełnia podany warunek, ponieważ 1≤2≤3≤3≤5≤7.

Chciałbym,żeby ktoś wytłumaczył jak do takich zadań podchodzić,na co patrzeć i jak to przekładać na program,z góry dziękuję za poświęcony czas :)

3 odpowiedzi

+1 głos
odpowiedź 9 października 2016 przez gosu93 Początkujący (340 p.)
Ja bym proponował iść schematem:

a) Co mam zrobić?
b) Jakie operacje/warunki?
c) Jaki wynik?

a) Wczytać dane z pliku
b) Wykonać operacje i waruneki dla danych z pliku oraz przechować wyniki
c) Wyświetlić wyniki

W fizyce sobie rozpisujesz zadanie na dane i szukane, tutaj też sobie to rozpisz tylko w bardziej przystępny sposób.
+1 głos
odpowiedź 9 października 2016 przez criss Mędrzec (172,590 p.)
edycja 10 października 2016 przez criss
Przede wszystkim najpierw sobie napisz kod wczytujący dane z pliku do jakiegoś vectora (najlepiej jakąś funckje zwracającą vector z załadowanymi już danymi) i przekopiowuj go zwyczajnie do kolejnych podpunktów. Ew. potem lekko ją modyfikuj zależnie czy łatwiej ci będzie operować na liczbach w postaci stringów czy intów. Np. w podpunkcie a) zdecydowanie łatwiej jest operować na stringach (porównujesz tylko str[0] i *str.rbegin()). W zasadzie we wszystkich podpunktach łatwiej jest na stringach, ale w b) i c) będziesz musiał na chwile przekonwertować na int, żeby zamienić na system oktalny (chyba, że jest jakiś prostszy sposób...).

Dobrze opanuj ładowanie z pliku i konwersje między typami (string - liczbowe). Zapoznaj się z kontenerami std::set (przechowuje tylko unikaty) i std::vector. Ogarnij iteratory (metody .begin(), .rbegin() itd.). Zapoznaj się też z funkcjami z <algorithm> - szczególnie std::sort oraz std::[min | max]_element (w sumie to tylko tymi - nie zawracaj sobie głowy resztą). Mogą się też przydać wyrażenia lambda. I to powinno wystarczyć, żeby sprawnie sobie poradzić z każdym zadaniem (z każdym do którego trzeba napisać program - większość raczej łatwiej sie robi w excelu / accesie).
0 głosów
odpowiedź 9 października 2016 przez Ciri Gaduła (3,380 p.)
W tego typu zadaniach program piszemy w Excelu, gdyż rozwiązanie tego problemu jest wtedy najbardziej przejrzyste (W C++ też się chyba da, ale 100% pewności to ja nie mam. Może być kłopot z importem danych). Najważniejszym podpunktem jest znajomość podstawowych funkcji i blokowania komórek (M.in. jeżeli, jeżeli.błąd, suma, złącz teksty, wyszukaj poziomo/pionowo, prawda, mod). Chyba najtrudniejszym problemem są porównania liczb. Najprostszym sposobem będzie rozbicie liczby, tak aby każda cyfra była w osobnej kolumnie, a następnie ich porównywanie (Fragment tekstu). Warto robić wiele tabel, używać kolorów, zostawiać puste wiersze i kolumny, tworzyć nowe arkusze, aby wszystko było przejrzyste.

Nie wiem czy moja odpowiedź o oczywistych oczywistościach Ci pomogła
komentarz 9 października 2016 przez criss Mędrzec (172,590 p.)

W wybranym przez siebie
języku programowania napisz program,

Podobne pytania

0 głosów
2 odpowiedzi 3,745 wizyt
pytanie zadane 26 listopada 2016 w C i C++ przez Krystek102 Bywalec (2,440 p.)
+1 głos
1 odpowiedź 3,379 wizyt
0 głosów
1 odpowiedź 900 wizyt
pytanie zadane 26 stycznia 2017 w C i C++ przez Matt987 Użytkownik (800 p.)

93,023 zapytań

141,986 odpowiedzi

321,288 komentarzy

62,369 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...