1. Napisać program sprawdzający, czy podany przez użytkownika
Transkrypt
1. Napisać program sprawdzający, czy podany przez użytkownika
1. Napisać program sprawdzający, czy podany przez użytkownika rok jest rokiem przestępnym (rok przestępny [liczbowo] spełnia następujące warunki: jest podzielny przez 4, ale nie jest podzielny przez 100, chyba że jest podzielny przez 400). 2. Liczbami bliźniaczymi nazywamy dwie liczby pierwsze p i q takie, że q=p+2. Napisać program znajdujący 20 pierwszych par liczb bliźniaczych. 3. Napisać program pobierający od użytkownika kolejne wartości rzeczywiste aż do wartości 0 kończącej pobieranie oraz wypisujący sumę i liczbę wartości dodatnich oraz sumę i liczbę wartości ujemnych podanych przez użytkownika (końcowe 0 nie jest brane pod uwagę). 4. Napisać program wczytujący tablicę liczb całkowitych o podanej przez użytkownika długości, a następnie wypisujący wszystkie takie dwójki (pary nieuporządkowane) utworzone z elementów tej tablicy, że ich suma jest mniejsza od podanej przez użytkownika liczby G. 5. Napisać program pobierający tablicę liczb całkowitych o podanej przez użytkownika długości, a następnie wypisujący liczbę wystąpień poszczególnych elementów tej tablicy. 6. Napisać program wczytujący tablicę liczb całkowitych o długości podanej przez użytkownika, a następnie, w zależności od decyzji użytkownika: oblicza ilość parzystych oraz ilość nieparzystych elementów tablicy; oblicza długość najdłuższego fragmentu tablicy, w którym wszystkie elementy są dodatnie; wczytuje dwie liczby całkowite L i P (liczby mają być dodatnie i nie większe od długości tablicy), a następnie odwraca kolejność elementów we fragmencie wyznaczonym przez wartości tych zmiennych. Program powinien pozwalać na wielokrotne wybieranie czynności do wykonania. 7. Jedna z metod sortowania tablic działa w następujący sposób: 1. sprawdzamy, czy element pierwszy i drugi stoją w prawidłowym porządku, jeśli nie, to zamieniamy je miejscami; 2. powtarzamy powyższe dla elementów drugiego i trzeciego, potem trzeciego i czwartego itd, aż dojdziemy do końca tablicy ----> powyższy ciąg czynności zapewni nam, że największy (a przy sortowaniu nierosnącym - najmniejszy) element znajdzie się na ostatniej pozycji tablicy; 3. powtarzamy kroki 1-2 dla coraz krótszych fragmentów tablicy początkowej: najpierw dla fragmentu odpowiadającego tej tablicy bez ostatniego elementu, potem dla fragmentu odpowiadającego tablicy początkowej bez dwóch ostatnich elementów itd; ----> każdy z kroków powoduje, że największy (lub - przy sortowaniu nierosnącym - najmniejszy) element znajdujący się w rozpatrywanym fragmencie wywędruje na jego koniec; ostatnim krokiem będzie wykonanie powyższych działań dla fragmentu tablicy złożonego z dwóch pierwszych elementów. Napisać program wczytujący tablicę liczb całkowitych o podanej przez użytkownika długości, a następnie sortujący ją nierosnąco lub niemalejąco (o sposobie sortowania decyduje użytkownik). 8. Napisać program zawierający następujące funkcje: funkcję pobierającą dane do tablicy liczb całkowitych podanej jako parametr (długość tablicy ma być przekazana przez parametr); funkcję wypisującą zawartość tablicy liczb całkowitych podanej jako parametr o długości podanej jako parametr; funkcję zwracającą tablicę (wskaźnik) zawierającą liczby nieparzyste z tablicy podanej jako parametr o długości podanej jako parametr. Funkcja ma mieć dodatkowy parametr służący przekazaniu do programu długości tablicy wynikowej; funkcję zwracającą tablicę powstałą poprzez połączenie dwóch tablic podanych jako parametry o długościach podanych jako parametry; połączenie mają być wykonane tak, aby w tablicy wynikowej występowały najpierw na przemian elementy tablic wejściowych, a dalej ewentualnie pozostały fragment dłuższej z tablic wejściowych. Funkcja może zawierać dodatkowy parametr zwracający do programu długość tablicy wynikowej. 9. Zdefiniować typ strukturalny Student zawierający dane studenta (imię, nazwisko, nr indeksu, rok studiów, średnia ocen). Napisać program umożliwiający: dopisanie wprowadzonego studenta na końcu pliku tekstowego o nazwie podanej przez użytkownika wypisanie z pliku o nazwie podanej przez użytkownika wszystkich studentów z roku podanego przez użytkownika. policzenie średniej ocen wszystkich studentów w pliku Powyższe czynności mają być realizowane przez odpowiednie funkcje. 10. Zdefiniować typ strukturalny Faktura o polach: Nabywca (ciąg znaków), Numer (liczba całkowita dodatnia), Miesiac (liczba całkowita z zakresu 1-12) i Kwota (liczba rzeczywista). Napisać następujące funkcje: Pobierz pobierającą zawartość tablicy faktur podanej jako parametr; podawanie powinno zawierać sprawdzenie czy liczby podane jako numer faktury i miesiąc są dopuszczalne, Wypisz wypisującą zawartość tablicy faktur podanej jako parametr, NajlepszyMiesiac zwracającą numer miesiąca, w którym suma kwot wystawionych faktur występujących w tablicy przekazanej jako parametr była największa. Napisać program tworzący tablicę faktur o długości podanej przez użytkownika, a następnie wykorzystujący powyższe funkcje do pobrania jej zawartości (Pobierz), wypisania uzyskanej tablicy (Wypisz), a następnie wypisania miesiąca o najlepszej sprzedaży (funkcja NajlepszyMiesiac). Rozszerzyć powyższy program o funkcje: ZapiszDoPliku zapisującą do pliku binarnego o nazwie podanej jako parametr zawartość tablicy faktur podanej jako parametr, WypiszZZakresu wypisującą te faktury z pliku binarnego o nazwie podanej jako parametr, o kwocie nie mniejszej niż podana jako parametr i których numery są w zakresie podanym jako dwa kolejne parametry – dolne i górne ograniczenie zakresu. Funkcje wykorzystać w programie. Rozszerzyć ostatni o typ RokSprzedazy będący strukturą dynamiczną w formie listy jednokierunkowej przechowującej faktury. Napisać funkcje: WypiszListe wypisującą zawartość listy faktur danego roku podanej jako parametr, TworzListe wstawiającą do listy podanej jako parametr faktury pobrane z pliku binarnego o nazwie podanej jako parametr tak, aby po wstawieniu lista zawierała faktury posortowane rosnąco wg miesięcy, a w ramach tego samego miesiąca wg numeru. Jeśli lista zawierała wcześniej jakieś elementy, przed wstawieniem należy je usunąć. Funkcje wykorzystać w programie.