PRAKTIKUM 3 1. a) Napisati funkciju int min(int x, int y) koja nalazi minimum dva cela broja. b) Napisati program koji omogućava korisniku da unese dva cela broja sa tastature, a potom određuje i ispisuje njihov minimum koristeći funkciju min. c) Ukoliko je funkcija min realizovana korišcenjem uslovnog (if) iskaza u standardnom obliku if (uslov) naredba1; else naredba2; onda prepraviti uslovni iskaz u kraci oblik uslov ? naredba1 : naredba2; 2. a) Napisati funkciju int konverzija (int c) koja prebacuje veliko slovo u ekvivalentno malo i obrnuto. b) Napisati program koji omogucava korisniku da unese niz karaktera sa tastature, a potom ispisuje uneseni niz karaktera. c) Dopuniti program tako da velika slova iz unetog niza budu ispisana kao mala i obrnuto, koristeci funkciju konverzija. Karakteri koji nisu slova treba da ostanu neizmenjeni. 3.a) Napisati funkciju int faktorijel(int x) koja računa faktorijel broja x. b) Napisati program koji omogućava korisniku da unese ceo broj sa tastature, a potom ispisuje faktorijel unetog broja, koristeći funkciju faktorijel. 4. a) Napisati funkciju int prost(int x) koja vraća 1 ako je x prost, a 0 ako nije. b) Napisati program koji omogućava korisniku da unese ceo broj, a potom ispisuje da li je taj broj prost, koristeći funkciju prost. c) Dopuniti program tako da štampa sve proste brojeve manje ili jednake od broja koji je korisnik uneo. 5. a) Napisati funkciju float zbir_reciprocnih(int n) koja vraća zbir recipročnih vrednosti brojeva od 1 do n. b) Napisati program koji omogućava korisniku da unese prirodan broj n, a potom ispisuje zbir recipročnih vrednosti brojeva od 1 do n koristeći funkciju float zbir_reciprocnih(int n). 6. a) Napisati funkciju int zbir_cifara(int x) koja računa zbir cifara od kojih se sastoji broj x. b) Napisati program koji omogućava korisniku da unese ceo broj sa tastature, a potom ispisuje da li je broj Nivenov. Broj je Nivenov ako je deljiv sumom svojih cifara. Program realizovati korišćenjem funkcije zbir_cifara. 7. a) Napisati funkciju int stepen(int x, int n) koja vraća n-ti stepen broja x. b) Napisati funkciju int armstrong(int a) koja vraća 1 ako je broj a Armstrongov, a 0 ako nije. Broj je Armstrongov ako je jednak sumi nekog stepena svojih cifara. Funkciju realizovati korišćenjem funkcije stepen. c) Napisati program koji omogućava korisniku da unese ceo broj, a potom ispisuje da li je taj broj Armstrongov koristeći funkciju armstrong. 8. Napisati funkciju float e_na_x(double x, double eps) koja racuna vrednost e^x kao parcijalnu sumu reda suma(x^n/n!), gde se sumiranje vrsi po indeksu n od 0 do beskonacno, pri cemu se sumiranje vrsi dok je razlika sabiraka u redu po apsolutnoj vrednosti manja od eps. Napisati potom program koji omogucuje korisniku da unese jedan realan broj x i ispisuje vrednost e^x. 9. Napisati funkciju void grafikon_h(int a, int b, int c, int d); koja vrsi horizontalno prikazivanje zadatih vrednosti. Na primer, za vrednosti a=4, b=1, c=7 i d=5 funkcija iscrtava: **** * ******* ***** U main funkciji ucitati brojeve a, b, c i d i iscrtati odgovarajuci grafikon. 10. Napisati funkciju void grafikon_v(int a, int b, int c, int d); koja vrsi vertikalno prikazivanje zadatih vrednosti. Na primer, za vrednosti a=4, b=1, c=7 i d=5 funkcija iscrtava: * * ** * ** * ** * ** **** U main funkciji ucitati brojeve a, b, c i d i iscrtati odgovarajuci grafikon. 11. Napisati funkciju int manje_od_50(); kojom se za tekst koji se unosi sve do pojave EOF karaktera racuna broj pojavljivanja karaktera ciji je ASCII kod manji od 50. U main funkciji pozvati ovu funkciju i ispisati njenu povratnu vrednost na ekran.