Lista 7 -- Wstęp do informatyki, W. Hebisch

Zadanie 1

Napisać program który zliczy (w odzielnej funkcji) ile razy poszczególne znaki pojawiły się na standartowym wejściu. Program główny ma jako wynik wypisać częstości znaków.

Zadanie 2

Zapoznać się z liczbami Stirlinga drugiego rodzaju i z liczbami Bella (z książki W. Lipski, W. Marek, Analiza kombinatoryczna, rozdział 1 paragraf 8 (str. 45--53)). Wzorując się na przykładzie programu obliczającego trójkąt Pascala napisać program który:
  1. oblicza liczby Stirlinga drugiego rodzaju
  2. wylicza liczby Bella z zależności rekurencyjnej

Zadanie 3

W programie przykładowym (wynik.c) funkcję 'sortuj_wzgledem_numeru' można zrealizować znacznie łatwiej -- nie trzeba naprawdę sortować ponieważ pole 'numer' zawiera pozycję na której ma się znaleźć dana struktura. Zmodyfikować program uwzględniając tą uwagę. Jest to łatwe jeśli użyje się pomocniczą tablicę, czy da się to zrobić bez dodatkowych tablic?

Zbadać co program zrobi jeśli linia wejściowa nie zawiera spacji. poprawić go tak by w takiej sytuacji zatrzymał się sygnalizując błąd.

Zmienić program tak by w pliku wejściowym pomijał linie zaczynające się od znaku '#' (dzięki temu takie linie służą jako komentarze). Po modyfikacji program ma dać na pliku dane1 taki sam wynik jak na pliku dane

Funkcja biblioteczna 'strcmp' porównuje dwa teksty i zwraca liczbę całkowitą która jest mniejsza niż 0 gdy pierwszy tekst poprzeda drugi w porządku leksykograficznym (słownikowym). Jeśli teksty są równe 'strcmp' zwraca 0, zaś gdy drugi tekst jest większy to zwraca wynik większy od 0 (proszę też zobaczyć na program przykładowy 'szukaj.c'). Zastępując w funkcji sortującej porównanie liczb porównanie wyniku funkcji 'strcmp' z zerem uzyskać funkcję sortującą w porządku alfabetycznym -- po tej zmianie cały program ma wypisać wyniki uporządkowane alfabetycznie według nazwisk.