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 między 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/strcpy
strcpy]]
, *
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