Programski jezik C++
Riješeni zadaci 2

1.1. Napisati program koji će na ekranu ispisati vaše lične podatke ... C++
1.2. Napisati program koji izračunava koliko je keramičkih pločica potrebno za popločavanje bazena ... C++
1.3. Napisati program koji izračunava proteklo vrijeme između dva vremenska trenutka (u satima, minutama i sekundama)... C++
2.1. Napisati program koji traži da se sa tastature unesu dva realna broja a i b, i prirodan broj n, a koji zatim računa i ispisuje vrijednost dvojnog razlomka

na n decimala.
C++
2.2. Napisati program koji traži da se sa tastature unese brzina broda u čvorovima koja se zadaje isključivo kao cijeli broj (obavezno koristiti promjenljivu tipa int), a zatim izračunava i ispisuje brzinu broda u km/h kao decimalan broj. Koristiti činjenicu da je čvor morska milja na sat, a da je jedna morska milja 1852 m (ovaj podatak obavezno definirati u programu kao konstantu). Na primjer, ukoliko se kao brzina broda unese broj 20, program treba da ispiše rezultat 38.87689 jer je 20 čvorova = 38.87689 km/h. C++
2.3. Za tri stranice trougla a, b i c računa i ispisuje površinu trougla P, kao i vrijednosti svih uglova trougla u stepenima. C++
2.4. Za poznatu glavnicu G i kamatna stopa p, program računa kamatu K po formuli K = G * p/100 i novu svotu S = G + K. C++
3.1. Sa tastature unese jedan kompleksan broj z i dva realna broja x i y, a koji zatim računa i ispisuje vrijednost izraza (1).
C++
3.2. Poznata Moievrova teorema za kompleksne brojeve tvrdi da je za ma kakve realne brojeve x i n

Za realne brojeve x i n unesene sa tastature izračunati lijevu i desnu stranu ovog izraza i ispisati ih na ekranu. Na nekoliko primjera provjeriti da li se zaista dobijaju jednake vrijednosti.
C++
3.3. Sa tastature se unese riječ od 5 slova, a program treba da istu riječ ispiše naopačke. C++
3.4. Sa tastature se unese neki cijeli broj, a koji će zatim na ekranu ispisati znak čija je ASCII šifra jednaka unesenom broju. C++
3.5. Sa tastature se unese neki znak, a koji će zatim na ekranu ispisati njegovu ASCII šifru, kao i znakove koji prethode unesenom znaku odnosno koji slijede iza njega prema tablici ASCII šifri. C++
4.1. Sa tastature se unese koeficijente a, b i c za dva pravca sa jednačinama oblika a x + b y + c = 0 (dakle, ukupno 6 koeficijenata), a koji zatim računa i ispisuje x i y koordinate presječne tačke. C++
4.2. Sa tastature se x sa tastature računa vrijednost funkcije y = f(x) zadane formulom
C++
4.3. Sa tastature se unese neki podatak, a koji u zavisnosti od toga kakav je uneseni podatak ispisuje jedan od sljedećih pet komentara: Uneseni podatak je prirodan broj. Uneseni podatak je cijeli broj, ali nije prirodan. Uneseni podatak je realan broj, ali nije cijeli. Uneseni podatak je kompleksan broj, ali nije realan. Uneseni podatak nije broj. Obavezno testirajte sve navedene slučajeve. C++
4.4. Sa tastature se unesu tri realna broja, a koji zatim ispisuje da li ta tri broja mogu biti stranice nekog pravouglog trougla. C++
4.5. Sa tastature se unesu koeficijenti a, b i c kvadratne jednačine a x2 + b x + c = 0 a koji zatim računa i ispisuje njena rješenja. Program napraviti tako da se pri svakom unosu koeficijenta uvijek čitaju “svježi” podaci, bez obzira što je pri unosu prvog koeficijenta korisnik eventualno odmah unio tri podatka (uputa: koristite cin.ignore). C++
5.1. Sa tastature unose realni brojevi sve dok se ne unese broj 0. Ispisuje se aritmetička i geometrijska sredina unesenih brojeva, ne računajući unesenu nulu. C++
5.2. Sa tastature unese realan broj x. Ukoliko je zaista unesen broj, i ukoliko je x > 0, ispisati njegov kvadratni korijen, ... C++
5.3. Sa tastature prvo unese prirodan broj n, a zatim n realnih brojeva. Nakon unosa program treba da ispiše sumu svih unesenih brojeva, kao i sumu svih pozitivnih brojeva. C++
5.4. Sa tastature prvo unese rečenica, koju zatim program ispisuje istu rečenicu šifriranu Cezarovom šifrom. C++
5.5. Napisati program koji traži da se sa tastature unese neki binarni broj, a koji nakon toga ispisuje isti broj pretvoren u dekadni brojni sistem. Na primjer, ukoliko se unese broj 1101011, rezultat treba da bude 107, jer je (1101011)2 = (107)10... C++
6.1. Sa tastature unesu cijeli brojevi n i m, a koji zatim iscrtava na ekranu pravougaonik sastavljen od zvjezdica čije su dužine stranica respektivno n i m. Na primjer, za n = 15 i m = 5, ispis na ekranu treba da izgleda kao
C++
6.2. Sa tastature unese cijeli broj n, a zatim iscrtava na ekranu ispunjeni jednakostranični trougao sastavljen od zvjezdica čija je osnovica horizontalna a vrh usmjeren nagore. Na primjer, ukoliko se unese n = 5, ispis na ekranu treba da izgleda kao
C++
6.3. Za broj unesen sa tastature (u opsegu 1 – 1000000000) ispisuje njegove proste faktore razdvojene razmacima. C++
6.4. Sa tastature učitati 6 brojeva. Program treba da ispita i ispiše da li su svi uneseni brojevi pozitivni, i da li među njima ima neparnih brojeva. Za realizaciju programa ne koristiti nizove. C++
7.1. Za navedeni uslov izračunari sumu od k do n količnika (xk/k!. C++
7.2. Napisati program koji traži da se unese prirodan broj n, a zatim računa i ispisuje vrijednost izraza (verižnog razlomka)... C++
7.3. Za neki broj kažemo da je palindroman ukoliko je jednak broju koji se dobije čitanjem njegovih cifara u obrnutom poretku. C++
7.4. Napisati program koji traži da se sa tastature unese cijeli brojevi a i b, a koji zatim ispisuje sve savršene brojeve u opsegu od a do b. C++
7.5. Napisati program koji traži da se sa tastature unesu dva prirodna broja a i b, i koji ispisuje broj brojeva u rasponu od a i b (uključujući i a i b) koji su djeljivi sumom svojih cifara (takav je, na primjer, broj 351, jer je djeljiv sa 3 + 5 + 1 = 9). Kao neke karakteristične vrijednosti za testiranje mogu vam poslužiti sljedeći rezultati: C++
8.1. Deset učitanih brojeva sa tastature, ispisati: u jednom redu brojeve koji su parni, a u drugom redu brojeve koji su neparni... C++
8.2. Za prirodan broj n unesen sa tastature ispisuje na ekranu elemente Pascalovog trougla visine n. Na primjer ...
C++
8.3. Sa tastature se unese prirodni broj n, a zatim na se ekran ispisuje vrijednost broja n prikazanog u binarnom zapisu... C++
8.4. Sa tastature se unese n cijelih brojeva (n se zadaje sa tastature), i nakon toga ispisuju se uneseni brojeve izostavljajući duplikate (tj. brojeve koji se ponavljaju). C++
9.1. Napisati program za isrtavanje jednakokragog trougla kao na slici

. Prva učitana vrijednost je visina trougla a druga znak koji se koristi za crtanje.
C++
9.2. Napisati program koji treba da ponudi korisniku sljedeće tri opcije: a) Rješavanje linearne jednačine b) Rješavanje kvadratne jednačine c) Kraj programa C++
9.3. Koristeći Heronov postupak (algoritam) za računanje kvadratnog korijena proizvoljnog broja x (formira se niz brojeva a0, a1, a2 itd. po sljedećem pravilu: a0 = 1; ak+1 = (ak + x / ak) / 2 za k > 0) C++
9.4. Napisati funkciju “rimski“ koja ima jedan parametar “n” koji treba biti prirodan broj manji od 4000 i koja ispisuje odgovarajući broj u rimskoj notaciji... C++
10.1. Realizirati program za rješavanje kvadratne jednačine a x2 + b x + c = 0 ali na modularan način. C++
10.2. Napisati dvije preopterećene verzije funkcije “pretvorba” koje pretvaraju radijane u stepene. Prva verzija prihvata dva realna parametra “alfa“ i “stepeni”, dok druga verzija prihvata četiri parametra nazvana “alfa”, “stepeni”, “minute“ i “sekunde”, od kojih je prvi realan a ostali cjelobrojni. C++
10.3. ... Za članove niza napisati funkciju koja računa broj elemenata niza koji su manji odnosno koji su veći od aritmetičke sredine svih elemenata niza. C++
10.4. Sa tastature učitati cijeli broj n. Napuniti niz a sa prostim faktorima broja n i ispisati koliko ih ima... C++
10.5. Sa tastature učitati elemente niza. Napisati funkcija koja treba da ispremješta elemente niza tako da prvi element postane posljednji, a posljednji prvi. C++
11.1. Sa tastature učitati dva niza. Napuniti funkciju koja treba da kao rezultat vrati broj elemenata koji se javljaju kao zajednički elementi i u jednom i u drugom nizu... C++
11.2. Sa tastature učitati elemente niza. Napisati funkcija koja treba da pronađu dva najmanja elementa niza... C++
11.3. Sa tastature učitati elemente niza. Napisati funkcija koja treba odstarni sve elemente niza manje od praga učitanog sa tastature... C++
12.1. Napisati sljedeće rekurzivne funkcije: a. “SumaKubova“; b.Funkciju “SumaCifara“; c.Funkciju “Stepen“; d.Funkciju “NZD“ ... C++
12.2. Napisati rekurzivnu funkciju “NaopakiIspis“ bez parametara koja će nakon pozivanja tražiti od korisnika da unosi brojeve sa tastature sve dok korisnik unese nulu... C++
12.3. Prepraviti program za rješavanje problema Hanojskih kula rađen na vježbama tako da se ispred svakog poteza ispisuje redni broj poteza. Drugim riječima, ispis treba da izgleda poput sljedećeg:
1. potez: Prebaci disk sa štapa 1 na štap 3;
2. potez: Prebaci disk sa štapa 1 na štap 2
3. potez: Prebaci disk sa štapa 3 na štap 2...
C++
12.4. Napisati funkcije “FibIter“ i “FibRek“ i “FibRekBrza“ koje primaju jedan cjelobrojni parametar “N“, a koje računaju N-ti Fibonačijev broj respektivno iterativnim postupkom, klasičnim rekurzivnim postupkom, i rekurzivnim postupkom uz provedenu tehniku ubrzavanja (memoizaciju). C++
13.1. Sa tastature učitati rečenicu, a ispisati posljednju riječ te rečenice... C++
13.2. Sa tastature učitati rečenicu, a ispisati svaku riječ te rečenice u posebnom redu, kao i informaciju koliko ta rečenica ima slova (ne računajući interpunkcijske znakove) i riječi... C++
13.3. Sa tastature učitati rečenicu, a zatim za rečenicu učitanu sa tastature ispisati da li je palindrom ili nije... C++
13.4. Napisati funkciju “Sastavi“ sa tri parametra “A”, “B“ i “C“. Sva tri parametra predstavljaju nul-terminirane nizove znakova (klasične stringove). Funkcija treba da u parametar “C“ smjesti string koji se dobija nadovezivanjem stringa “A“ na string “B”... C++
13.5. Napisati generičku (šablonsku) funkciju “UnosBroja“ sa tri parametra. Funkcija treba da omogući pouzdano unošenje brojeva u program, uz potpunu kontrolu grešaka pri unosu... C++
13.6. O.O.P. Koristeći tip podataka “string“ definiran u istoimenoj standardnoj biblioteci, napisati program koji traži da se sa tastature unesu dvije rečenice, a zatim na ekranu ispisuje koliko svaka od rečenica sadrži znakova, koja od ove dvije rečenice dolazi prije po abecednom poretku, kao i ... C++
14.1. Pomoću naredbe “typedef“ definirajte novi tip “Mat3x3“ koji predstavlja matricu realnih brojeva formata 3 x 3 a zatim napišite funkciju “Determinanta“ sa jednim parametrom “A“ tipa “Mat3x3“ koja kao rezultat vraća determinantu ove matrice. Napisanu funkciju testirajte u programu koji će za tri para tačaka ... ispituje da li leže na istom pravcu... C++
14.2. Napisati funkciju “MnoziMatrice“ sa 7 parametara “mat1”, “mat2”, “mat3”, “m1”, “n1”, “m2“ i “n2”. Prva tri parametra predstavljaju matrice realnih brojeva maksimalnih dimenzija 20 x 20, dok su “m1”, “n1”, “m2“ i “n2“ stvarne dimenzije matrica “mat1“ i “mat2”... Ako su matrice “mat1“ i “mat2“ jesu saglasne za množenje, funkcija treba da izračuna produkt matrica “mat1“ i “mat2“ i da rezultat množenja smjesti u matricu “mat3”... C++
14.3. Napisati funkcije “TragMatrice”, “DaLiJeGornjaTrougaona” i “Transpozicija”. Sve tri funkcije su generičke, i primaju dva parametra, “A“ i “N”... Funkcije su: “TragMatrice“ - suma elemenata na glavnoj dijagonali, “DaLiJeGornjaTrougaona“ logičku vrijednost “true”... C++
14.4. Napisati program koji traži od korisnika da unese niz riječi (broj riječi se prethodno unosi sa tastature), a zatim ispisuje na ekran prvu i poslednju riječ iz spiska po abecednom poretku... C++
14.5. Napisati program koji traži od korisnika da unese niz riječi (broj riječi se prethodno unosi sa tastature), a zatim ispisuje na ekran prvu i poslednju riječ iz spiska po abecednom poretku...Program realizirati korištenjem klasičnih dvodimenzionalnih nizova znakova, i funkcija iz biblioteke “cstring”. C++
15.1. Napisati funkciju koja računa vrijednost funkcije f(x, n) definirane sljedećim izrazom, pri čemu su x i n realni argumenti:
.
C++
15.2. Napisati program koji od korisnika traži da sa tastature unese rečenicu, a koji će zatim ispisati unesenu rečenicu bez prve riječi te rečenice. C++
15.3. Napisati funkciju “NadjiPodstring” koja obavlja potpuno istu funkciju kao i funkcija “strstr” iz biblioteke “cstring”. Funkciju treba realizirati isključivo korištenjem pokazivačke aritmetike. C++
15.4. Napisati generičku funkciju “Izvrni” koja obavlja isti zadatak kao funkcija “reverse” iz biblioteke “algorithm”. Funkciju treba realizirati isključivo korištenjem pokazivačke aritmetike. C++
15.5. O.O.P. Koristeći odgovarajuće funkcije iz biblioteke “algorithm”, napisati program koji će za niz cijelih brojeva unesenih sa tastature ispisati najveći i najmanji element niza, i koliko puta se u nizu pojavljuje najmanji element. Zatim ispuje sve elemente niza bez ponavljanja. C++
16.1. Napisati funkciju sa jednim argumentom n koja kreira dinamički niz od n cijelih brojeva, popunjava ga sa prvih n Fibonačijevih brojeva... C++
16.2. Sa tastature se unosi dimenzija kvadratne matrice n, a zatim vrijednosti dvije matrice formata n x n. Program treba da ispiše zbir dvije unesene matrice. C++
16.3. Na osnovu Simpsonovog pravila:

... Napisati funkciju “Integral“ koja prima kao parametre f, a, b i n ( f je pokazivač na funkciju čiji se integral računa) a koja kao rezultat daje približnu vrijednost integrala. Napisanu funkciju testirajte na primjerima integrala funkcije sin x na intervalu (0, Pi), zatim funkcije x3 na intervalu (0, 10), i funkcije 1/x na intervalu (1, 2).
C++
16.4. Koristeći odgovarajuće funkcije iz biblioteke “algorithm”, napraviti program koji određuje koliko u nizu cijelih brojeva unesenih sa tastature ima brojeva koji su potpuni kvadrati (tj.kvadrati nekog drugog cijelog broja), i koji prepisuje u drugi niz sve elemente koji nisu potpuni kvadrati. C++
17.1. Sa tastature učitanih n slučajnih brojeva i sortirati u opadajući poredak BubbleSort postupkom... C++
17.2. Ponovite sve što je traženo u zadatku 17.1, samo uz korištenje prvo InsertSort, a zatim i QuickSort postupka sa izborom slučajnog elementa kao pivota.. C++
17.3. Unesena imena i prezimena studenata ... ispisati u sortiranom poretku ... C++
17.4. Sa tastature unjeti niz rečenica ... Sortirati ih u obrnuti abecedni poredak koristeći QuickSort postupak i ispisati ... C++
17.5. Sa tastature unjeti niz rečenica .. ispisati unesene rečenice sortirane u obrnuti abecedni poredak za sortiranje koristi ugrađena funkcija “sort“ iz biblioteke “algorithm“. C++
17.6. Za fiksan sortiranog niza od 50 elemenata i broja “n“ unesenog sa tastature postupkom binarne pretrage ispisati poziciju gdje se broj “n“ nalazi unutar niza ... C++
17.7. Za fiksan sortiranog niza od 50 elemenata i broja “n“ unesenog sa tastature za pretragu koriste odgovarajuće funkcije iz biblioteke “algorithm”. Ispisati poziciju gdje se broj “n“ nalazi unutar niza ... C++
18.1. O.O.P. Napisati klasu “Sat“ koja predstavlja digitalni sat. C++
18.2. O.O.P. ... Definirati klasu “Robot” koja predstavlja zamišljenog robota koji može da se kreće kroz koordinatni sistem sa cjelobrojnim koordinatama i koji može da gleda u jednom od četiri pravca ... C++
18.3. O.O.P. Napisati klasu “Tim“ koja predstavlja jedan tim u fudbalskom prvenstvu ... Metoda “ObradiUtakmicu“ treba da na osnovu rezultata utakmice koji joj se prenosi kao parametar (u vidu broja datih i primljenih golova sa posmatrane utakmice) ažurira ne samo atribute koje broje golove, nego i atribute koji broje odigrane utakmice, broj pobjeda, poraza i neriješenih utakmica, kao i broj bodova. C++
18.4. O.O.P. Napisati klasu “Liga” koja se oslanja na klasu “Tim” napisanu u prethodnom zadatku. ..Konstruktor treba da izvrši dinamičku alokaciju memorije za prihvatanje onoliko timova koliko je navedeno parametrom, dok destruktor treba da izvrši oslobađanje svih resursa koje je klasa “Liga” alocirala tokom svog rada... C++
19.1. O.O.P. Definirati i implementirati klasu “Datum” koja omogućava rad sa datumskim podacima... C++
19.2. O.O.P. Definirati i implementirati klasu “Polinom”, koja omogućava rad sa polinomima. Klasa treba da ima konstruktor sa dva parametra koji predstavljaju redom stepen polinoma ... C++
19.3. O.O.P. Definirati i implementirati generičku klasu “Vreca” koja služi za smještanje kolekcije elemenata jednakog ali proizvoljnog tipa, pri čemu poredak elemenata u kolekciji nije bitan, i nije moguće imati dva identična elementa unutar kolekcije (slično matematskom pojmu skupa)... C++
20.1. O.O.P. Napisati i implementirati baznu klasu “Student”, zatim iz nje izvesti naslijeđene klase “Student_VI_stepena”, “Student_VII_stepena”, “Student_postdiplomac”, te konačno formirati i implementirati klasu “StudentskaSluzba”. Bazna klasa “Student” ... C++
20.2. Kreirajte uz pomoć NotePad-a tekstualnu datoteku “PODACI.TXT”. Zatim napravite program koji će iščitati sadržaj ove datoteke, obraditi podatke pohranjene u njoj, a zatim kreirati novu tekstualnu datoteku “REZULTATI.TXT” u kojoj će se nalaziti spisak studenata sortiran u opadajući poredak po ... C++
20.3. O.O.P. Proširiti klasu “Liga” razvijenu u zadatku 18.4 sa dvije nove metode “Snimi” i “Obnovi” koje će snimati kompletan sadržaj lige u datoteku pod imenom koje se zadaje kao parametar, ... C++
20.4. O.O.P. ... Realizirajte dinamičku implementaciju generičke klase “Red” (zasnovanu na povezanim čvorovima) koja posjeduje isti interfejs kao i razmotrene statičke implementacije. C++

    abc Algoritmi    abc BASIC    abc Pascal    abc C++    abc Java    abc C    Index