Zajęcia 1 - Powtórka z C

Najważniejsze sprawy

typy

wskaźniki, wskaźniki do funkcji

dynamiczny przydział pamięci

struktury

pliki nagłówkowe i źródłowe

różnice miedzy C a C===== Przykładowe zadania ===== === Wektor === Plik nagłówkowy ''wektor.h'' <code C> struct wektor { int rozmiar; double *wartosc; }; struct wektor *alokuj(struct wektor * w, int n); void zwolnij(struct wektor *w) struct wektor *kopiuj(struct wektor *w1, struct wektor *w2); double dlugosc(struct wektor *w); double iloczyn(struct wektor *w1, struct wektor *w2); struct wektor *unormuj(struct wektor *w1); </code> Zdefiniuj odpowiednie funkcje w pliku źródłowym ''wektor.c'' i napisz program demonstrujący ich działanie. === Słownik === Napisz program generujący słownik w oparciu o drzewo binarne. Dla danego pliku (lub po wczytaniu tekstu ze strumienia wejściowego) program wyświetla posortowaną alfabetycznie listę występujących w tekście wyrazów oraz liczbę wytapiań danego wyrazu w tekście. Plik nagłówkowy slownik.h: <code C> struct drzewo { char *slowo; int ilosc; struct drzewo *left, *right; }; struct drzewo* dodaj(struct drzewo *d,char *slowo); void wyswietl(struct drzewo *d); </code> Funkcja **dodaj(struct drzewo *d,char *slowo)** dodaje nowe słowo do słownika (drzewa). Wartością zwracaną jest wskażnik do bierzącego węzła w drzewie.\\ Funkcja **wyswietl(struct drzewo *d);** wypisuje zawartość słownika, czyli posortowaną listę słów wraz z liczbą wystąpień danego słowa w pliku. \\ Dopisz definicje funkcji w pliku zródłowym **slownik.c**. <note important>Jakiej ważnej funkcji brakuje w programie? Zaimplementuj ją.</note> Przydatne funkcje: * **string.h** : **[[http://pl.wikibooks.org/wiki/C/strcpystrcpy]], strcmp, strlen * ctype.h : isalpha, tolower Różnice miedzy C i C++ **

Zamień wywołania funkcji malloc() i free() na wywolania operatora new i delete

Spróbuj użyć strumieni <iostream> do wczytywania i wyświetlania słów z terminala lub pliku

Spróbuj wykożystać klasę string zamiast tabic char* do zapamiętywania słów słownika

Utwórz klasę „slownik”, korzeń drzewa uczyń polem prywatnym zaś funkcje dodaj() i wyswietl() przepisz jako metody publiczne tej klasy