#include /* Funkcja wczytuje do tablicy 't[]' jedna linie tekstu z klawiatury (ale nie wiecej niz 'n' znakow). * Wartoscia zwracana jest adres do tablizy znakow zawierajacej wczytany tekst (bez konczacego znaku nowej linii). * Na koncu znajduje sie znak '\0'. */ char *czytaj_linie(char *t,int n) { char *p=t; while ((*t=getchar()) !='\n' && *t!=EOF && --n>1) t++; *t='\0'; return p; } /* Funkcja oblicza dlugosc napisu 't'. * Wartoscia zwracana jest liczba znakow w lancuchu (stringu) 't' */ int licz_znaki(char *t) { int i=0; while (*t++) i++; return i-1; } /* Funkcja kopiuje zawartosc tablicy 'co' do tablicy 'gdzie'. * Wartoscia zwracana jest adres (wskaznik) do skopiowanej tablicy znakow 'gdzie'.*/ char *kopia(char *co,char *gdzie) { char *u=gdzie; while (*gdzie++=*co++); return u; } /* Funkcja laczy dwa napisy. Napis z tablicy co[] jest dodawany na koncu napisu gdzie[]. * Wartoscia zwracana jest adres (wskaznik) do tablicy zawierajacej polaczone napisy.*/ char *sklej(char *co,char *gdzie) { char *p=gdzie; while(*gdzie++); kopia(co,gdzie-1); return p; } /* Funkcja porownuje dwa napisy t1 i t2. Wartoscia zwracana jest * 0 gdy t1=t2 (napisy sa identyczne), * wartość -1 gdy t1 > t2, tzn. napisy nie sa podane w porzadku alfabetycznym oraz * wartosc +1 gdy napisy t1 < t2 sa podane w porzadku alfabetycznym.*/ int porownaj(char *t1,char *t2) { while(*t1 == *t2 && *t1 && *t2 ) { t1++; t2++; } if (*t1 < *t2) return 1; if (*t1 > *t2) return -1; return 0; }