|- - -|
|

Vežbe

Ukratko, na ovoj stranici se nalaze vežbe iz K&R-a.

Poglavlje 1

vežba 1-4. Napišite odgovarajući program za štampanje tabele konverzije Celzijusovih u Farenhajtove stepene.
rešenje
vežba 1-5. Modifikujte program konverzije temperature tako da program odštampa tabelu obrnutim redom.
rešenje
vežba 1-6. Proveriti da li je izraz   getchar != EOF   0 ili 1.
rešenje
vežba 1-7. Napišite program za štampanje vrednosti EOF-a.
rešenje
vežba 1-8. Napišite program koji broji beline, tabulatore i nove linije.
rešenje
vežba 1-9. Napišite program koji kopira ulaz na izlaz, zamenjujući niz od jedne ili više belina samo jednom belinom.
rešenje
vežba 1-10. Napišite program koji kopira ulaz na izlaz, zamenjujući svaki tabulator sa \t i svaki povratik sa \b.
rešenje
vežba 1-12. Napišite program koji štampa svoj ulaz tako da bude po jedna reč u svakoj liniji.
rešenje
vežba 1-13. Napišite program za štampanje histograma dužine reči na ulazu.
a) Lako je napraviti histogram sa horizontalnim linijama.
b) Vertikalna orjentacija je mnogo veći izazov.
rešenje a)
rešenje b)
vežba 1-14. Napišite program za štampanje histograma frekvencija pojavljivanja različitih znakova na ulazu.
rešenje
vežba 1-15. Ponovo napišite program za konverziju temperature iz Odeljka 1.2 da biste koristili funkciju za konverziju.
rešenje
vežba 1-18. Napišite program za premeštanje pronađenih belina i tabulatora sa svake ulazne linije koji će, takođe, i da izbacuje potpuno blanko linije.
rešenje
vežba 1-19. Napišite funkciju reverse(s) koja obrće nisku znakova s. Koristite je da biste napisali program koji obrće ulaznu liniju.
rešenje

vežba 1-20. Napišite program detab koji zamenjuje tabulatore na ulazu određenim brojem belina do sledećeg stop-tabulatora. Odredite fiksni broj stop-tabulatora, recimo svakih n pozicija. Da li bi trebalo da n bude promenljiva ili simbolički parametar?
rešenje

vežba 1-21. Napišite program entab koji zamenjuje niske belina minimalnim brojem tabulatora i belina da bi se postiglo isto rastojanje. Koristite iste stop-tabulatore kao i za detab. Kada bi ili tabualtor ili jedna belina bili dovoljni da se postigne stop-tabulator, kome bi bila data prednost?
rešenje

Poglavlje 2

vežba 2-1. Napišite program za određivanje opsega tipa char, short, int i long, kad su i signed i unsigned tipa, štampajući vrednosti sa standardnih zaglavlja direktnim izračunavanjem. Odredite opsege različitih tipova realnih brojeva.
rešenje
vežba 2-3. Napišite funkciju htoi(s), koje pretvara nisku heksa-decimalnih brojeva (uključujući opcione 0x ili 0X) u njenu ekvivalentnu celobrojnu vrednost. Dozvoljene cifre su od 0 do 9, a do f, i A do F.
rešenje

vežba 2-4. Napišite alternativnu verziju funkcije sqeeze(s1,s2) koja poništava svaki znak u s1 kome odgovara bilo koji znak u niski s2.
rešenje

vežba 2-5. Napišite funkciju any(s1,s2) koja vraća prvo mesto u niski s1 gde se pojavljuje bilo koji znak iz niske s2 ili -1, ako niska s1 ne sadrži nijedan znak iz niske s2. (Funkcija strpbrk iz standardne biblioteke radi isto to, s tim što vraća pokazivač na lokaciju.)
rešenje

|
|= - =|
|_ - _|