ANSI C - projekty

Tematy zadań projektowych

kalkulator onp
Zaprogramuj klakulator, który będzie obliczał wyrażenia zapisane w notacji postfiksowej (odwrotna notacja polska). Do obliczeń wykorzystaj kolejkę i stos zaimplementowane na liście jednokierunkowej. Twój program powinien umożliwiać zapamiętywanie wartości obliczonych wyrażeń za pomoca zmiennych. Należy sprwdzać poprawność danych.
wyznacznik macierzy
Napisz program, który będzie obliczał wyznacznik macierzy kwadratowej. Rozmiar macierzy i jej rzeczywiste elementy należy odczytać z pliku. Przed obliczeniem wyznacznika przekształć macierz do postaci trójkątnej (dolnej lub górnej).
formatowanie programów
Napisz program do formatowania programów napisanych w języku ANSI C. Program program zapisany w pliku należy odczytać i sformatować zgodnie z normą węgierską, zapisując wyniki na standardowym wyjściu. Twój program powinien też usuwać wszystkie komentarze.
drzewa zrównoważone
Zaprogramuj słownikową strukturę danych jako drzewo AVL albo RBT. Na strukturze tej powinieneś wykonywać operacje słownikowe i umożliwiać schematyczne drukowanie struktury drzewa.
kompresja plików
Napisz program, który będzie umożliwiał kompresję i dekompresję plików zgodnie z algorytmem Huffmana (możesz też użyć algorytmu LZ77 albo LZ78).
sudoku
Napisz program, który będzie rozwiązywał łamigłówkę sudoku (program ma prawidłowo wypełnić zadaną planszę). Grę trzeba rozwiązywać na wszystkich poziomach trudności. Gdy rozwiązanie jest sprzeczne albo wieloznaczne, należy o tym poinformować specjalnym komunikatem. Planszę należy wczytać z pliku.
inne tematy:
  1. krzyżówka (program układający krzyżówkę z zadanych słów na jak najmniejszym obszarze);
  2. problemy grafowe (zastosowanie algorytmu genetycznego do rozwiązania trudnego problemu grafowego - minimalne kolorowanie, maksymalna klika, ścieżka komiwojażera, itp);
  3. wyszukiwanie wzorca (znajdowanie wystąpienia zadanego wzorca w tekście metodą KMP z wykorzystaniem automatów skończonych).

Grupa: środa 16-18 / s.108

im.nazw.indekstematpunkty
A.Fli.209138krzyżówka0
P.Gar.209144sudoku0
K.Gra.209098kompresja plików LZ770
J.Kop.209110sudoku0
M.Las.208929wyznacznik macierzy0
M.Lig.209125kalkulator onp0
M.Mar.209160formatowanie programów0
K.Pie.208921kompresja plików Huff0
T.Ryl.209152sudoku0
P.Sob.209065kalkulator onp0
R.Sta.209167kalkulator onp0
P.Świ.209136-0

Grupa: czwartek 14-16 / s.110

im.nazw.indekstematpunkty
A.Goc.209069kalkulator onp0
S.Hen.209183formatowanie programów0
M.Jab.209097kalkulator onp0
M.Ken.208923sudoku0
S.Maj.209119wyznacznik macierzy0
M.Sik.209111kalkulator onp0
K.Sob.204925sudoku0
K.Sor.209169wyznacznik macierzy0
K.Szu.208938kompresja plików LZ780
J.Śli.208927wyznacznik macierzy0
T.Urb.200322-0
M.Zió.208928-0

Uwagi i zalecenia

  • Temat projektu student wybiera samodzielnie spośród zamieszczonych na powyżej. Należy jednak pamiętać, że do jednego projektu może być przypisanych co najwyżej 3 studentów w grupie. Można też zgłaszać swoje propozycje.
  • Projekty mają być wykonane samodzielnie.
  • Program trzeba rozsądnie podzielić na pliki nagłówkowe i źródłowe.
  • Szczegóły dotyczące zakresu prac powinny być uzgodnione ze mną jeszcze przed Nowym Rokiem.
  • Do projektu należy dołączyć dokumentację w postaci komentarza na początku pliku. W dokumentacji należy umieścić:
    1. imię i nazwisko (numer indeksu) autora;
    2. opis metody rozwiązania problemu;
    3. opis używanych struktur danych;
    4. bibliografię (ksiązki, czasopisma, artykuły, linki w internecie).
  • Termin oddawania projektów to 16 i 17 stycznia 2008 r.

powrót na początek strony