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.