|- - -|
|

Drugi seminarski

U datoteci readme.txt nalaze se lični podaci, formulacije zadataka i specifičnosti vezane za pokretanje programa.
readme.txt

Argumenti komandne linije:
0. Napisati C program koji za dve niske koje se zadaju kao argumenti komandne linije ispisuje rezultat poziva bibliotečnih funkcija (<string.h>):
  • strlen
  • srcmp
  • strncmp
  • strstr
  • strncat
  • strncpy
  • strncmp
rešenje(.htm)
rešenje(.c)

1. Napisati program mygrep koji iz teksta sa ulaza (niz linija limitirane dužine) izdvaja sve linije koje sadrže nisku koja se zadaje kao argument komandne linije. Obezbediti da program ne pravi razliku među malim i velikim slovima ako je među argumentima komandne linije prisutan opcioni argument -i.
mygrep(.htm)
mygrep(.c)

2. Napisati program myhead koji ispisuje prvih n linija teksta sa ulaza (niz linija limitirane dužine). 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.
myhead(.htm)
myhead(.c)

3. Napisati program mytail koji ispisuje poslednjih n linija teksta sa ulaza (niz linija limitirane dužine). 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.
mytail(.htm)
mytail(.c)

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.
mysort(.htm)
mysort(.c)

5. Napisati program mysorti 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 -f , onda izvršiti sortiranje ignorišući razliku među 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.
mysorti(.htm)
mysorti(.c)

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 među 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.
mygrep2(.htm)
mygrep2(.c)

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 reci 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 pogodjenih slova, jer se ništa nije promenilo). Takođe, 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.
vesanje(.htm)
vesanje(.c)

|
|= - =|
|_ - _|