0. Napisati C program koji za dve niske koje se zadaju kao argumenti komandne linije ispisuje rezultat poziva bibliotečnih funkcija (<string.h>):
1.
Napisati program mygrep
koji iz teksta sa ulaza (niz linija limitirane duzine) izdvaja sve linije koje sadrze nisku koja se zadaje kao argument komandne linije.
Obezbediti da program ne pravi razliku medju malim i velikim slovima ako je medju argumentima komandne linije prisutan opcioni
argument -i.
2.
Napisati program myhead
koji ispisuje prvih n linija teksta sa ulaza (niz linija limitirane duzine). Podrazumevana vrednost za n je 10, ali tu vrednost može da izmeni opcioni argument, tako da
myhead -n
štampa prvih n linija. Voditi računa o efikasnosti pri
korišćenju raspoložive memorije.
3.
Napisati program mytail
koji ispisuje poslednjih n linija teksta sa ulaza (niz linija limitirane duzine). Podrazumevana vrednost za n je 10, ali tu vrednost može da izmeni opcioni argument, tako da
mytail -n
štampa poslednjih n linija. Voditi računa o efikasnosti pri
korišćenju raspoložive memorije.
4.
Napisati program mysort
koji koji leksikografski sortira u neopadajućem poretku linije
teksta sa ulaza (niz linija limitirane dužine).
Ako je kao argument komandne linije zadat opcioni argument -n , onda izvršiti
numeričko sortiranje. Ako je kao argument komandne linije zadat opcioni argument -r , onda promeniti redosled sortiranja u nerastući poredak.
Obezbediti da program radi i kad su prisutna oba opciona argumenta -r -n .
Može se pretpostaviti da ukupan broj linija nije veći od 1000,
kao i da dužina svake linije nije veća od 80 karaktera.
5. Napisati program mysorti
koji leksikografski sortira u neopadajućem poretku linije
teksta sa ulaza (niz linija limitirane dužine).
Ako je kao argument komandne linije zadat opcioni argument -f , onda izvršiti
sortiranje ignorišući razliku medju malim
i velikim slovom. Ako je kao argument komandne linije zadat opcioni argument -r , onda promeniti redosled sortiranja u nerastući poredak.
Obezbediti da program radi i kad su prisutna oba opciona argumenta -f -r .
Može se pretpostaviti da ukupan broj linija nije veći od 1000,
kao i da dužina svake linije nije veća od 80 karaktera.
6. Napisati program mygrep2
koji iz teksta sa ulaza (niz linija limitirane dužine) izdvaja samo one linije koje ne
sadrže nisku koja se zadaje kao argument komandne linije.
Ako je medju argumentima komandne linije prisutan opcioni
argument -n, onda obezbediti da program ispred svake linije na izlazu ispiše
i njen redni broj u tekstu sa ulaza .
7.
U programu se u nisci čuva sadržaj reči (sastavljen od velikih slova engleske abecede) koju korisnik pogađa. Napisati program vesanje
koji od strane korisnika učitava jedno po jedno slovo koje unosi korisnik pogađajući reč. Pri učitavanju svakog uspešno pogođenog slova program treba da ispiše sve pojave onih slova u reči koja su do tada pogođena. Na mestima nepogođenih slova treba da stoje *. Voditi racuna da korisnik može da unese nešto što nije slovo (u kom slučaju program ne treba da mu ispiše trenutno stanje pogođenih slova, jer se ništa nije promenilo).
Takodje, predvideti mogućnost da se korisniku uvaži unos malog slova
(tretirati ga kao odgovarajuće veliko slovo).
Program treba da se zaustavi nakon više od n neuspelih pokušaja ili, u suprotnom da ispiše ukupan broj pokušaja (uspešnih, neuspešnih) u slučaju da su pogođena sva slova za manje od n neuspelih pokušaja.
Ceo broj n se zadaje iz komandne linije.