You are on page 1of 2

Programiranje 1

C++ zadaci - Vjeba 4

WHILE i DO-WHILE petlja


1. Napiite program koji e uitavati niz brojeva sve dok se ne uita broj 0 kao oznaka za kraj
niza. Ispisati koliko je brojeva uitano.
2. Uitavati cijele brojeve sve dok se ne uita broj koji nije prirodan. Izraunati i koliko je
parnih, a koliko neparnih brojeva. Rijeite zadatak koritenjem while i do-while petlje, te
komentirajte koje rjeenje vam se ini bolje.
3. Napisati program koji e od korisnika traiti da uita niz cijelih brojeva. Korisnik uitava
brojeve sve dok zbroj brojeva ne prijee 1000. Izraunati i ispisati koliko je brojeva
upisano. Rijeite zadatak koritenjem while i do-while petlje, te komentirajte koje rjeenje
vam se ini bolje.
4. Napisati program u kojem e se raunati prosjek za niz ocjena koje unosi korisnik. Oznaka
za kraj unosa je ocjena koja ne pripada segmentu [1,5]. Na kraju na ekranu treba ispisati
prosjek ocjena zaokruen na dvije decimale.
5. Napisati program u kojem e se raunati prosjek ocjena za n predmeta (najmanje 0, a
najvie 20 postaviti to ogranienje). Korisnik prvo treba uitati broj n za koliko
predmeta eli upisati ocjenu, a potom treba upisati ocjene za n predmeta (kako ete
ograniiti unos ocjena na segment [1,5]?). Na kraju na ekranu treba ispisati prosjek ocjena
zaokruen na dvije decimale.
Dodatni zadaci:
6. Napisati program koji e raunati prosjenu visinu ljudi (zaokruenu na 2 decimale).
Program treba raditi tako da se od korisnika trai unos niza brojeva koji predstavlja visine
za odreeni broj ljudi, a unos se prekida u trenutku kada korisnik unese negativan broj ili
broj 0. Nakon toga program treba ispisivati prosjenu visinu za uitane podatke.
Napomene:
--> rijeite zadatak koritenjem do-while petlje. (dodatni zadatak: rijeite zadatak s
while petljom i komentirajte koje je rjeenje bolje)
--> radi jednostavnosti, ne treba postaviti ogranienje na vrijednost visine odozgo,
pretpostavlja se da korisnik unosi smislene vrijednosti za visine
7. Modificirajte prethodni zadatak tako da se broj ljudi za koje se rauna prosjena vrijednost
visine unosi na poetku programa, a potom se unosi visina za tono taj broj ljudi.
--> postavite ogranienje da broj ljudi koji na poetku unosi korisnik to smije biti broj
iz segmenta [0,20].
--> kako biste rijeili zadatak pomou do-while petlje?
--> radi jednostavnosti, ne treba postaviti ogranienje na vrijednost visine (dodatni
zadatak: modificirajte program tako da se korisniku ogranii mogunost unosa visine u
nekom odreenom intervalu koji ima smisla).
8. Napisati program koji od korisnika trai unos znakova s time da unos znakova prestaje u
trenutku kada se uita toka. Provjeriti ima li niz uitanih znakova svojstvo da je uitan
znak x ili X. Ispisati na ekranu je li uitan znak x (X) --- definirajte varijablu svojstvoX koja
e imati vrijednost true ili false.
Program napravite tako da se, ukoliko se znak X uita, automatski izlazi iz petlje, a 'skok' iz
petlje realizirajte koritenjem naredbe break;
9. Napiite program za pogaanje broja.
Program treba raditi tako da se na poetku definira neki sluajni broj koritenjem funkcije
rand(), a korisnik treba pogaati taj broj s time da ima 10 pokuaja.

Programiranje 1

C++ zadaci - Vjeba 4

Funkcija rand radi tako da vraa neki broj iz segmenta [1,RAND_MAX] (RAND_MAX je neka
konstanta deklarirana u datoteci zaglavlja cstdlib i iznosi 32767, ali kod drugih verzija i
prevoditelja moe imati i druge vrijednosti).
Teko bi bilo pogoditi sluajno odabran broj iz segmenta [1, 32767], stoga treba taj
sluajno odabrani broj na neki nain modificirati tako da bude iz segmenta npr. [1,20].
Dakle, korisnik pogaa sluajno odabran broj iz segmenta [1,20] u 10 pokuaja. Ako
pogodi, estita mu se na pobjedi.
Omoguite korisniku da ponovi igricu (upitom: Ponovo(d/n)?).
Dodatne upute:
1. Za koritenje funkcije rand(), treba ukljuiti datoteku zaglavlja cstdlib
2. Da bismo koristili funkciju rand, potrebno ju je prethodno inicijalizirati:
srand(time(0)); //inicijalizacija funkcije za random definiranje brojeva
a budui se dodatno koristi funkcija time(), treba ukljuiti datoteku zaglavlja ctime
Dodatni zadatak: --> pokuajte unaprijediti program s nekim vaim idejama (na slici 1 dan
je samo neki osnovni model programa). Na primjer, modificirajte program tako da ispisuje
iz kojeg je pokuaja korisnik pogodio broj, ili poruku da broj nije pogoen ako korisnik nije
pogodio broj.
Osnovni dio programa bi trebao raditi izgledati kao to je prikazano na slici 1. (Meutim
moete osmisliti jo neke dodatke tako da unaprijedite program to je navedeno kao
dodatni zadatak.)

Slika 1. Primjer programa