ZADANIE 1. ZADANIE 2. ZADANIE 3. ZADANIE 4. ZADANIE 5. ZADANIE 6. ZADANIE 7. ZADANIE 8. ZADANIE 9. ZADANIE 10. ZADANIE 11. Napisz program wypisujący na standardowym wyjściu następujący napis: Napis zawierający różne dziwne znaczki // \ \$ &%. Napisz program, który wczytuje ze standardowego wejścia trzy liczby całkowite i wypisuje na standardowym wyjściu ich średnią arytmetyczną. Napisz program, który wczytuje ze standardowego wejścia nieujemną liczbę wymierną x i wypisuje na standardowym wyjściu x z dokładnością do 5 cyfr po przecinku. Napisz program, który pyta użytkownika o imię a następnie wypisuje na standardowym wyjściu Jestes kobieta i masz na imie (odp. Jestes mezczyzna i masz na imie ), w zależności od płci. Napisz program, który wczytuje łańcuch tekstowy ze standardowego wejścia, następnie zamienia w nim wszystkie małe litery łacińskie na duże litery łacińskie i wypisuje wynik na standardowym wyjściu. Inne znaki łańcucha tekstowego nie ulegają zmianie. Napisz program, który wczytuje łańcuch tekstowy ze standardowego wejścia i wypisuje ten sam łańcuch, tyle że od tyłu, na standardowym wyjściu. Napisz program, który pyta o hasło co najwyżej trzykrotnie, porównuje je z hasłem wcześniej ustalonym i odpowiednio reaguje na sukces/porażkę użytkownika. wypisuje na standardowym wyjściu liczbę n!. wypisuje na standardowym wyjściu sumę kwadratów liczb od 0 do n, czyli wartość 0 2 + 1 2 + 2 2 +... + n 2. wypisuje na standardowym wyjściu element F n ciągu Fibonacciego o indeksie n. Program ma zadziałać dla n=90. Napisz program generujący tabliczkę mnożenia 15x15 i wyświetlający ją ładnie na ekranie. Np. tak, jak poniżej. Użyj kodów ASCII z http://pl.wikipedia.org/wiki/cp852.
ZADANIE 12. Napisz program rysujący szachownicę. Użyj kodów ASCII z http://pl.wikipedia.org/wiki/ CP852. ZADANIE 13. Napisz program, który wczytuje macierz nxn (n naturalne) złożoną z liczb całkowitych ze standardowego wejścia i wypisuje na standardowym wyjściu sumę wyrazów tej macierzy leżących poniżej głównej przekątnej (tzn. sumuje te wyrazy a[i][j], dla których i>j). Przykład: ZADANIE 14. Napisz program wypisujący na konsoli polskie litery. Użyj kodów ASCII z http://pl. wikipedia.org/wiki/cp852. ZADANIE 15. Napisz funkcję, która testuje czy dana liczba całkowita k jest podzielna przez 2 lub przez 3. Użyj tej funkcji do wypisania wszystkich liczb całkowitych z przedziału [1,100] mających powyższą cechę. ZADANIE 16. Napisz funkcję, która dla danej liczby naturalnej n zwraca wartość d(n), gdzie d(n):=liczba wszystkich dzielników naturalnych liczby n. Przykład: d(1)=1, d(2)=2, d(3)=2, d(4)=3, d(5)=2, d(6)=4,.
ZADANIE 17. ZADANIE 18. ZADANIE 19. ZADANIE 20. ZADANIE 21. ZADANIE 22. ZADANIE 23. ZADANIE 24. ZADANIE 25. ZADANIE 26. ZADANIE 27. ZADANIE 28. Napisz funkcję, która sprawdza, czy dana liczba naturalna n jest liczbą pierwszą (użyj funkcji z poprzedniego zadania jak?). Napisz funkcję zwracającą losową liczbę całkowitą a następnie wykorzystaj ją w programie generującym losową tablicę (ustalonej długości) liczb całkowitych. Jak wykorzystać Twoją funkcję do wygenerowania liczby rzeczywistej? Jak wylosować liczbę z zadanego z góry zakresu całkowitego? Napisz funkcję kopiującą jeden łańcuch znaków do drugiego (oba łańcuchy mają być argumentami tej funkcji). Napisz funkcję rekurencyjną zwracającą wartość potęgi k^n, gdzie parametr k jest całkowity a parametr n jest liczbą naturalną bądź zerem. Napisz funkcję rekurencyjną pobierającą nieujemną liczbę całkowitą (zapisaną w systemie dziesiętnym) ze standardowego wejścia a następnie wypisującą kolejne cyfry jej rozwinięcia binarnego na standardowe wyjście. Napisz funkcję rekurencyjną testującą czy dany łańcuch jest palindromem. Napisz funkcję, która pobiera jako swój argument dodatnią liczbę całkowitą n by następnie zwrócić wskaźnik do dynamicznie zaalokowanej n-elementowej tablicy liczb zmiennoprzecinkowych. Następnie napisz drugą funkcję, która pobiera wskaźnik na tablicę opisanego typu i zwalnia przydzieloną tej tablicy pamięć. Napisz program wczytujący kolejne liczby całkowite ze standardowego wejścia aż do momentu wczytania liczby -1. Liczby te mają być zapamiętane w dynamicznym bloku pamięci (tablicy), który odpowiednio zwiększa swój rozmiar wraz z każdą nowo wczytaną liczbą. Program ma weryfikować poprawność alokacji pamięci i wypisać stosowny komunikat o błędzie, jeśli alokacja ta się nie powiedzie. Po zakończeniu wczytywania liczb program ma wyświetlić wszystkie te liczby a następnie zwolnić przydzieloną pamięć. Napisz funkcję rekurencyjną obliczającą wartość F n ciągu Fibonacciego o indeksie n. Następnie ulepsz tę funkcję dodając do niej lokalną pamięć w formie tablicy. Po tym ulepszeniu funkcja ma zadziałać dla n=90. Zadbaj o poprawne zwolnienie zaalokowanej pamięci. Napisz funkcję porownaj, która o dowolnych dwóch funkcjach f i g o prototypach int f(int) oraz int g(int) jest w stanie stwierdzić, czy funkcje te działają w ten sam sposób czy też nie dla wszystkich argumentów ze zbioru {0,..,n}. Funkcja porownaj ma zwracać 1 w przypadku weryfikacji pozytywnej zaś 0 w przypadku weryfikacji negatywnej. Następnie użyj tej funkcji do eksperymentalnego sprawdzenia równości (k+2)^2=k^2+4*k+4, dla k=0,,1000. Napisz funkcję zwracającą kopię przekazanej jej tablicy jednowymiarowej o elementach typu int. Napisz funkcję przeksztalc pobierającą dwa argumenty: tablicę dwuwymiarową T o zadanych wymiarach (i elementach jakiegoś ustalonego typu) oraz funkcję f działającą na elementach tej tablicy. Funkcja przeksztalc ma zwrócić nową tablicę będącą tablicą T przekształconą za pomocą funkcji f. Następnie przetestuj swój program na losowej tablicy T oraz funkcjach f typu x 2*x (jeśli x typu całkowitego) oraz x strlen(x) (jeśli x jest łańcuchem). Czy potrafisz zmienić funkcję przeksztalc tak, aby pracowała ona na tablicy dwuwymiarowej o nieokreślonych z góry wymiarach?
ZADANIE 29. ZADANIE 30. ZADANIE 31. ZADANIE 32. ZADANIE 33. ZADANIE 34. ZADANIE 35. ZADANIE 36. ZADANIE 37. ZADANIE 38. Napisz program, który wywołany bezargumentowo wypisuje: Nie chce mi się z Tobą gadać, wywołany z opcją --help wypisuje: Już pomagam ;), zaś wywołany z innymi argumentami wypisuje komunikat: Aby uzyskać pomoc wywołaj program komendą nazwa.pliku --help, gdzie nazwa.pliku jest faktyczną nazwą wywołanego pliku wykonywalnego. Zdefiniuj: strukturę zespolona (o polach typu float) oraz typ zespolona do przechowywania liczb zespolonych. Następnie napisz funkcję dodaj, która dostaje dwa argumenty zespolone i zwraca jako wartość ich sumę. Przetestuj swoją funkcję na konkretnych liczbach zespolonych a wynik dodawania wypisz na standardowe wyjście. Zdefiniuj strukturę wektor kodującą początek i koniec wektora na płaszczyźnie za pomocą liczb zespolonych zaimplementowanych w zadaniu powyżej. Następnie napisz funkcję skaluj mnożącą wektor przez skalar. Zdefiniuj typ strukturowy czas_t kodujący aktualną godzinę (z dokładnością do sekund). Następnie napisz funkcję pobierz_czas wczytującą dane ze standardowego wejścia do zmiennej typu czas_t oraz funkcję nowy_czas zwiększającą przekazaną jej wartość czasu typu czas_t o przekazaną jej wartość sekund. Funkcja nowy_czas powinna zwracać zaktualizowany czas jako nową zmienną typu czas_t. Wreszcie napisz funkcję wypisz_czas wypisującą zmienną typu czas_t w formacie GG:MM:SS. Napisz funkcję porownaj_czas sprawdzającą czy dwie przekazane jej zmienne typu *czas_t (zob. poprzednie zadanie) wskazują na zmienne przechowujące tę samą wartość czasu czas_t. Zdefiniuj typ wyliczeniowy dzientyg zawierający nazwy dni tygodnia a następnie napisz funkcję nastepny pobierającą argument dzis typu dzientyg i zwracającą następny dzień tygodnia po dzis. Napisz funkcję utworz_liste tworzącą listę studentów (limit miejsc w grupie: 30 osób). Każdy wpis w tej liście powinien zawierać następujące informacje dotyczące studenta: jego imię, nazwisko, numer indeksu oraz płeć. Następnie napisz funkcję sprawdzającą, czy dany student z jednej listy występuje na drugiej liście. Funkcję tę przetestuj na dwóch przykładowych listach studentów. Napisz program próbujący odczytać dany plik tekstowy (opisany pełną ścieżką dostępu) a następnie wypisujący jego zawartość na standardowe wyjście. Program ma obsługiwać potencjalne błędy wejścia-wyjścia. Zmodyfikuj powyższy program tak, żeby działał też na plikach binarnych. Napisz funkcję sito, która wczytuje kolejne znaki z pliku tekstowego wskazanego jej jako argument FILE* plik odsiewając liczby od innych znaków; liczby mają zostać zapisane w słupku do pliku liczby.txt zaś pozostały tekst do pliku tekst.txt. Rozważ dwa warianty rozwiązania, związane z liczbą potrzebnych przebiegów pliku plik. Gotową funkcję sito przetestuj wywołując ją na jej własnym pliku źródłowym. Przykład: Jeśli w pliku wskazywanym przez plik jest tekst Moj numer telefonu to 1234, mam 18 lat, to liczby.txt powinien zawierać 1234 zaś zawartość tekst.txt to: Moj numer telefonu to, mam lat. 18 ZADANIE 39. Napisz funkcję, która wczyta liczby z pliku liczby.txt z zadania powyżej a następnie zwróci ich sumę.
ZADANIE 40. Napisz funkcję porównującą czy dwa (dowolne) pliki są identyczne. ZADANIE 41. Napisz parę funkcji: zapisz zapisującą zmienną typu strukturowego (np. czas_t z zadania 32) do pliku oraz wczytaj wczytującą takąż zmienną z pliku. ZADANIE 42. Napisz program, który przepisze dany plik tekstowy tekst.txt do nowego pliku o nazwie tekst_odwrocony.txt, tyle że odwróci kolejność przeczytanych słów. Zakładamy, że w pliku wejściowym słowa oddzielone są pojedynczymi spacjami. Przykład: Jeśli w tekst.txt mamy Ala ma kota to w tekst_odwrocony.txt powinno być kota ma Ala.