Zadanie 6. Numery PESEL
W pliku dane.txt zapisano 1000 numerów PESEL osób urodzonych w latach 1945–2003, po jednym numerze w wierszu.
Fragment pliku dane.txt (10 pierwszych wierszy pliku):
87062374513
70042949368
57070843873
68100217281
80071113568
58121156393
55042672243
73091424567
89100324122
60062195366
Plik przyklad.txt zawiera 15 przykładowych numerów PESEL.
Napisz program(y), za pomocą którego(ych) uzyskasz odpowiedzi do poniższych zadań. Odpowiedzi zapisz w pliku wyniki6.txt, a odpowiedź do każdego zadania poprzedź numerem oznaczającym to zadanie.
Zadanie 6.1. Przedostatnia, dziesiąta cyfra numeru PESEL określa płeć jego właściciela. W numerach PESEL kobiet cyfra ta jest parzysta, u mężczyzn – nieparzysta. Podaj liczbę numerów PESEL kobiet i liczbę numerów PESEL mężczyzn z pliku dane.txt
. Przykład: Dla numerów PESEL zawartych w pliku przyklad.txt odpowiedzią jest 8 numerów dla kobiet i 7 dla mężczyzn.
Zadanie 6.2. Cyfry trzecia i czwarta numeru PESEL oznaczają miesiąc urodzenia, przy czym osoby urodzone przed rokiem 2000 mają numer miesiąca podany w sposób naturalny, czyli od 01 do 12, a osoby urodzone w roku 2000 i później mają do numeru miesiąca dodaną liczbę 20, czyli od 21 do 32. Dla danych z pliku dane.txt podaj, ile osób łącznie urodziło się w listopadzie.
Przykład: Dla numerów PESEL zawartych w pliku przyklad.txt odpowiedzią jest liczba 2.
Zadanie 6.3. Poprawność numeru PESEL można obliczyć według podanego poniżej algorytmu:
1⋅ a1 + 3⋅ a2 + 7⋅ a3 + 9⋅ a4 + 1⋅ a5 + 3⋅ a6 + 7⋅ a7 + 9⋅ a8 + 1⋅ a9 + 3⋅ a10 + a11, gdzie ai – kolejne cyfry numeru PESEL
Jeżeli powyższy wynik jest liczbą podzielną przez 10, to numer PESEL jest poprawny, w przeciwnym razie jest błędny. Podaj wszystkie błędne numery PESEL w pliku dane.txt.
Przykład: Wśród numerów PESEL zawartych w pliku przyklad.txt błędny jest numer 97092746487.
Niestety nie jestem w stanie podesłać na forum tych plików albowiem każdy z nich posiada w środku dużą ilość losowych peselów. Strikte chodzi mo o to jak się zabrac za te zadania bo szczerze mówiąc nie mam pojęcia jak to zrobić.