PETLJE - PRIMERI(C,C++,JAVA)
Na ovoj stranici ćete pronaći osnovne primere iz petlji. Često, programiranje zahteva da se jedna ili više komandi ponavljaju više puta. Zamislimo sada da bi trebalo da odštampamo određene naloge 100, 1000 ili 10000 puta. Bio bi to težak, gotovo nemoguć posao. Posao bi bio olakšan kada bi ove komande, koje želimo da ponovimo, napisane samo jednom, a ponovljene drugom komandom. Pre nego što nastavite sa rešavanjem primera, pročitajte lekciju o petljama u programskom jeziku C++ na veb strani
Petlje u programskom jeziku C/C++
Petlje u programskom jeziku C/C++
ili, ako radite u programskom jeziku JAVA
Petlje u Javi
Petlje u Javi
1. Klub za koga navijate
Koristeći for ciklus ispisati 10 puta naziv kluba za koga navijate.
2. Ispisivanje niza brojeva
Ispisati sve parne brojeve na intervalu od -55 do 55.
3. Ispisivanje brojeva po redovima i kolonama
Ispisati prvih 100 prirodnih neparnih brojeva u 10 reda i 10 kolona
Staviti početnu vrednost kontrolne promenljive i na 1, kao prvi neparan broj traženog intervala brojeva, a za promenu kontrolne promenljive, staviti da se menja za 2. Tj. treći izraz u for petlji treba biti i=i+2
Posle ispisivanja broja, koristeći if naredbu, staviti nov red, ako je tekući broj deljiv sa 10
for(int br=1,ciklus=1; br<200; br=br+2,ciklus++)
{
return 0;{
printf("%3d ",br);
if(ciklus % 10 == 0)
printf("\n");
}if(ciklus % 10 == 0)
printf("\n");
}
4. Celzijusi u farenhajte
Napraviti program koji za učitane vrednosti početne c1 i krajnje c2 temperature u stepenima Celzijusa, pretvara sve vrednosti temperatura na tom intervalu, iz Celzijusa u Farenhajte.
Primer 1
Ulaz
10
15
Izlaz
10[C] 50[F]
11[C] 51.8[F]
12[C] 53.6[F]
13[C] 55.4[F]
14[C] 57.2[F]
15[C] 59[F]
Primer 1
Ulaz
10
15
Izlaz
10[C] 50[F]
11[C] 51.8[F]
12[C] 53.6[F]
13[C] 55.4[F]
14[C] 57.2[F]
15[C] 59[F]
Učitati prvo temperature c1 i c2 pomoću cin komande(C++) ili scanf, a zatim kreirati for ciklus.
Staviti da se kontrolna promenljiva c, menja od c1 do c2 i ona zapravo predstavlja temperaturu u celzijusima.
U telu for ciklusa prvo izračunati tekuću vrednost u Farenhajtima pomoću formule:
T[oF]=T[oc]*9/5+32
Drugo, ispisati ove dve vrednosti u istom redu
#include <stdio.h>
using namespace std;
int main()
{
}using namespace std;
int main()
{
double c1,c2,f;
cin >> c1 >> c2;
/*Kontrolna promenljiva c(temperatura u celzijusima)
* se menja od početne c1 do krajnje c2 sa korakom 1
*/
for(double c=c1; c <= c2; c=c+1)
{
return 0;cin >> c1 >> c2;
/*Kontrolna promenljiva c(temperatura u celzijusima)
* se menja od početne c1 do krajnje c2 sa korakom 1
*/
for(double c=c1; c <= c2; c=c+1)
{
/*Temperatura u F se dobija pomoću formule:*/
f=c*9.0/5.0+32;
cout << c << "[C] " << f << "[F]"<<endl;
}f=c*9.0/5.0+32;
cout << c << "[C] " << f << "[F]"<<endl;
5. Sabrati parne brojeve
Sabrati sve parne brojeve između 10 do 50.
6. Prosek ocena
Učitati broj predmeta n, a zatim učitati ocene iz n predmeta i izračunati prosečnu ocenu
7. Uklanjanje nula sa desne strane
Učitati ceo broj, a zatim mu ukloniti nule sa desne strane. Npr. ako je unesen broj 12000 na izlazu treba da bude broj 12.
8. Deljenje broja sa istim deliocem
Uneti ceo broj N i delilac d. Skraćivati broj N sa deliocem d dok je to moguće. Ispisati na izlazu ostatak kao i broj ciklusa. Npr. Ulaz: N=36,d=3; Izlaz: 4 2; Objašnjenje: 1. ciklus: 36/3=12, 2. ciklus: 12/3=4, ostatak je 4 a broj ciklusa 2
9. Trening
Sportista je počeo sa treniranjem i tokom prvog dana pretrči X kilometara. Odrediti koliko će pretrčati svakog dana u toku n dana priprema, ako se zna da svakog sledećeg dana pretrči za 10% više od prethodnog. Odrediti koliko je sportista ukupno pretrčao kilometara tokom priprema.
10. Troškovnik
Napraviti dnevni troškovnik. Program treba da prvo učita vrednost plate ili džeparca za tekući mesec, a onda se učitava za svaki dan, dnevnik trošak. Ispisati koliko je novca preostalo tog dana. Kada vrednost preostalog novca bude manja od 10, prekinuti učitavanje dnevnih troškova. Na kraju ispisati koliko je novca ostalo, ako je ostatak pozitivan ili napisati koliko ste više potrošili, ako je ostatak negativan.
11. Simulacija slobodnog pada
Napraviti program koji simulira slobodan pad tela sa visine H0. Uneti početnu visinu tela i kreirati petlju u kojoj se menja vreme za 0.05 sekundi u svakom ciklusu. Ispisati sve trenutne položaje i brzine tela u tim vremenskim trenucima u toku padanja. Odrediti brzinu tela pri padu na zemlju računski i uporediti je sa vrednošću dobijenu simulacijom.
12. Kamata
Učitava se početna količina novca, procenat godišnje kamate koja se pripisuje na tu sumu, i broj godina n. Izračunati kolika će biti suma novca posle 1, 2,... ,n godina. Svake godine kamata se pripisuje na sumu koja je dobijena na kraju prethodne godine.
Ulaz
Početna količina novca, iznos godišnje kamate u procentima, i broj godina za koje treba ispisati sumu novca sa kamatom.
Izlaz
U i-tom redu ispisati sumu novca posle i godina.
Ulaz
Početna količina novca, iznos godišnje kamate u procentima, i broj godina za koje treba ispisati sumu novca sa kamatom.
Izlaz
U i-tom redu ispisati sumu novca posle i godina.
13. Susret dva automobila
Dva automobila krenu u istom trenutku, jedan iz mesta A ka mestu B, a drugi iz mesta B ka mestu A, ravnomerno pravolinijski.
Simulirati ovo kretanje za unete brzine automobila, tako da se na svakih 0.05s kretanja istpiše trenutno vreme, pređeni putevi oba automobila, kao i trenutno rastojanje između njih. Rasojanje između mesta A i B unosi korisnik.
Odrediti vreme susreta.
Simulirati ovo kretanje za unete brzine automobila, tako da se na svakih 0.05s kretanja istpiše trenutno vreme, pređeni putevi oba automobila, kao i trenutno rastojanje između njih. Rasojanje između mesta A i B unosi korisnik.
Odrediti vreme susreta.
14. Skijaški skokovi-prosek
Na takmičenju u skijaškim skokovima pored udaljenosti koju skakač preskoči ocenjuje se i stil skakača. Pet sudija ocenjuju stil skakača ocenama od 0 do 20. Zatim se od svih dobijenih ocena izbrišu jedna najmanja i jedna najveća. Konačna ocena stila skakača računa se kao prosek preostalih ocena. Napiši program kojim se na osnovu ocena 5 sudija određuje konačna ocena stila skakača.
15. Berza
Trgovac na berzi je tokom jedne radne nedelje svaki dan ili ostvarivao zaradu ili je gubio novac. Od svih dana u kojima je nešto zaradio, odrediti dan u kome je najmanje zaradio i vrednost koju je tog dana zaradio (ako je više takvih dana, prijaviti prvi) ili prijaviti da je svih dana gubio novac.
Ulaz
Sa standardnog ulaza unosi se 5 celih brojeva iz intervala [−10000,10000][−10000,10000] (iznosi koje je trgovac ostvario u ponedeljak, utorak, sredu, četvrtak i petak), svaki u posebnom redu.
Izlaz
Ako je trgovac u nekom danu ostvario zaradu (iznos je strogo veći od nule), na standardni izlaz u prvom redu ispisati najmanji iznos zarade koji je ostvaren tokom nedelje i u drugom redu oznaku dana (PON, UTO, SRE, CET ili PET) u kome je ostvaren taj najmanji profit. Ako nijedan dan nije ostvarena zarada, ispisati red koji sadrži samo karakter -.
Primer 1
Ulaz
3200
-420
-10
1350
5670
Izlaz
1350
CET
Primer 2
Ulaz
-4700
-360
-1000
-1550
-3245
Izlaz-
Ulaz
Sa standardnog ulaza unosi se 5 celih brojeva iz intervala [−10000,10000][−10000,10000] (iznosi koje je trgovac ostvario u ponedeljak, utorak, sredu, četvrtak i petak), svaki u posebnom redu.
Izlaz
Ako je trgovac u nekom danu ostvario zaradu (iznos je strogo veći od nule), na standardni izlaz u prvom redu ispisati najmanji iznos zarade koji je ostvaren tokom nedelje i u drugom redu oznaku dana (PON, UTO, SRE, CET ili PET) u kome je ostvaren taj najmanji profit. Ako nijedan dan nije ostvarena zarada, ispisati red koji sadrži samo karakter -.
Primer 1
Ulaz
3200
-420
-10
1350
5670
Izlaz
1350
CET
Primer 2
Ulaz
-4700
-360
-1000
-1550
-3245
Izlaz-
16. Odbrojavanje
Zadatak sa petlja.org/biblioteka/r/Zbirka/brojevi_obrnuti_redosled
Napisati program koji odbrojava unazad od datog broja do nule.
Napisati program koji odbrojava unazad od datog broja do nule.
17. Najave emisije
Zadatak sa web portala petlja.org: petlja.org/biblioteka/r/problemi/Zbirka/najave_emisije_u_pravilnim_intervalima
Poznat je početak i kraj jednog filma (vremena u satima i minutima). U pravilnim vremenskim intervalima, prvo na početku filma i zatim nakon svakih mm minuta u uglu ekrana se prikazuje najava sledeće emisije. Napiši program koji ispisuje vremena u kojima se prikazuje ta najava.
Ulaz
Na standardnom ulazu nalazi se vreme početka filma dato u obliku dva cela broja, svakog u zasebnoj liniji koji predstavljaju broj sati i broj minuta, zatim, u sledeđoj liniji vreme završetka filma dato u istom obliku i na kraju jedan ceo broj koji predstavlja interval u minutima u kojem se prikazuje najava.
Izlaz
Na standarnom izlazu prikazati, vremena emitovanja najave u obliku h:m, svako u zasebnom redu.
Primer
Ulaz
12
0
13
53
15
Izlaz
12:0
12:15
12:30
12:45
13:0
13:15
13:30
3:45
Poznat je početak i kraj jednog filma (vremena u satima i minutima). U pravilnim vremenskim intervalima, prvo na početku filma i zatim nakon svakih mm minuta u uglu ekrana se prikazuje najava sledeće emisije. Napiši program koji ispisuje vremena u kojima se prikazuje ta najava.
Ulaz
Na standardnom ulazu nalazi se vreme početka filma dato u obliku dva cela broja, svakog u zasebnoj liniji koji predstavljaju broj sati i broj minuta, zatim, u sledeđoj liniji vreme završetka filma dato u istom obliku i na kraju jedan ceo broj koji predstavlja interval u minutima u kojem se prikazuje najava.
Izlaz
Na standarnom izlazu prikazati, vremena emitovanja najave u obliku h:m, svako u zasebnom redu.
Primer
Ulaz
12
0
13
53
15
Izlaz
12:0
12:15
12:30
12:45
13:0
13:15
13:30
3:45
18. Čitanje do kraja ulaza
Zadatak sa sajta petlja.org/biblioteka/r/problemi/Zbirka/citanje_do_kraja_ulaza
Sa ulaza se unose celi brojevi sve dok se ne dođe do kraja ulaza. Napisati program kojim se prikazuje koliko je uneto brojeva.
Ulaz
Svaka linija standardnog ulaza sadrži po jedan ceo broj. NAPOMENA: prilikom interaktivnog testiranja programa, kraj standardnog ulaza se označava kombinacijom tastera ctrl + z ako se koristi operativni sistem Windows tj. ctrl + d ako se koristi operativni sistem Linux.
Izlaz
U prvoj liniji standardnog izlaza prikazati koliko je brojeva uneto.
Primer
Ulaz
20
145
-23
12
456
13
Izlaz
6
Sa ulaza se unose celi brojevi sve dok se ne dođe do kraja ulaza. Napisati program kojim se prikazuje koliko je uneto brojeva.
Ulaz
Svaka linija standardnog ulaza sadrži po jedan ceo broj. NAPOMENA: prilikom interaktivnog testiranja programa, kraj standardnog ulaza se označava kombinacijom tastera ctrl + z ako se koristi operativni sistem Windows tj. ctrl + d ako se koristi operativni sistem Linux.
Izlaz
U prvoj liniji standardnog izlaza prikazati koliko je brojeva uneto.
Primer
Ulaz
20
145
-23
12
456
13
Izlaz
6
19. Čitanje ocena do kraja ulaza i računanje proseka
Sa ulaza se unose ocene iz nekog predmeta sve dok se ne dođe do kraja ulaza. Napisati program kojim se prikazuje prosečna ocena.
Ulaz
Svaka linija standardnog ulaza sadrži po jedan ceo bro koji predstavlja ocenuj.
Izlaz
U prvoj liniji standardnog izlaza prikazati prosečnu ocenu.
Primer
Ulaz
5
2
4
4
2
6
Izlaz
3.83
Ulaz
Svaka linija standardnog ulaza sadrži po jedan ceo bro koji predstavlja ocenuj.
Izlaz
U prvoj liniji standardnog izlaza prikazati prosečnu ocenu.
Primer
Ulaz
5
2
4
4
2
6
Izlaz
3.83
20. Magacin sokova
U magacin se na n polica slažu gajbice sa sokovima. U svaku gajbicu može da stane k flaša sokova. Odrediti najmanji ukupan broj gajbica potreban da se spakuju sve flaše iz magacina, ako je poznat broj flaša sokova na svakoj polici, pri čemu se u svaku gajbicu mogu pakovati isključivo flaše sa jedne police.
Ulaz
U prvoj liniji standardnog ulaza nalazi se prirodan broj n (1≤n≤100) koji predstavlja broj polica u magacinu. U drugoj je prirodan broj k (5≤k≤30) koji predstavlja kapacitet gajbice. U svakoj od narednih nn linija nalazi se prirodan broj, iz intervala [5,500], koji predstavlja broj flaša na svakoj polici.
Izlaz
U jednoj liniji standardnog izlaza ispisuje se najmanji broj upotrebljenih gajbica.
Primer
Ulaz
3
8
31
25
16
Izlaz
10
Ulaz
U prvoj liniji standardnog ulaza nalazi se prirodan broj n (1≤n≤100) koji predstavlja broj polica u magacinu. U drugoj je prirodan broj k (5≤k≤30) koji predstavlja kapacitet gajbice. U svakoj od narednih nn linija nalazi se prirodan broj, iz intervala [5,500], koji predstavlja broj flaša na svakoj polici.
Izlaz
U jednoj liniji standardnog izlaza ispisuje se najmanji broj upotrebljenih gajbica.
Primer
Ulaz
3
8
31
25
16
Izlaz
10
21. Najjeftiniji za dinar
U jednoj prodavnici je u toku akcija u kojoj se kupcima koji kupe tri proizvoda nudi da najjeftiniji od ta tri proizvoda dobiju za jedan dinar. Napiši program koji određuje sniženu cenu tri proizvoda.
Ulaz
Sa standardnog ulaza unose se tri cela broja iz intervala od 50 do 5000 koji predstavljaju cene u dinarima za tri kupljena proizvoda.
Izlaz
Na standardni izlaz ispisati jedan ceo broj koji predstavlja ukupnu sniženu cenu ta tri proizvoda.
Primer
Ulaz
2499
3599
899
Izlaz
6099
Ulaz
Sa standardnog ulaza unose se tri cela broja iz intervala od 50 do 5000 koji predstavljaju cene u dinarima za tri kupljena proizvoda.
Izlaz
Na standardni izlaz ispisati jedan ceo broj koji predstavlja ukupnu sniženu cenu ta tri proizvoda.
Primer
Ulaz
2499
3599
899
Izlaz
6099
22. Najave emisije u pravilnim vremenskim intervalima
Poznat je početak i kraj jednog filma (vremena u satima i minutima). U pravilnim vremenskim intervalima, prvo na početku filma i zatim nakon svakih mm minuta u uglu ekrana se prikazuje najava sledeće emisije. Napiši program koji ispisuje vremena u kojima se prikazuje ta najava.
Ulaz
Na standardnom ulazu nalazi se vreme početka filma dato u obliku dva cela broja, svakog u zasebnoj liniji koji predstavljaju broj sati i broj minuta, zatim, u sledeđoj liniji vreme završetka filma dato u istom obliku i na kraju jedan ceo broj koji predstavlja interval u minutima u kojem se prikazuje najava.
Izlaz
Na standarnom izlazu prikazati, vremena emitovanja najave u obliku h:m, svako u zasebnom redu.
Primer
Ulaz
12
0
13
53
15
Izlaz
12:0
12:15
12:30
12:45
13:0
13:15
13:30
13:45
Ulaz
Na standardnom ulazu nalazi se vreme početka filma dato u obliku dva cela broja, svakog u zasebnoj liniji koji predstavljaju broj sati i broj minuta, zatim, u sledeđoj liniji vreme završetka filma dato u istom obliku i na kraju jedan ceo broj koji predstavlja interval u minutima u kojem se prikazuje najava.
Izlaz
Na standarnom izlazu prikazati, vremena emitovanja najave u obliku h:m, svako u zasebnom redu.
Primer
Ulaz
12
0
13
53
15
Izlaz
12:0
12:15
12:30
12:45
13:0
13:15
13:30
13:45
23. Čitanje do minus 1 ili do n-tog
Zadatak sa sajta petlja.org/biblioteka/r/problemi/Zbirka/citanje_do_minus_1_ili_do_ntog
Pera se tokom časa igrao i seckao kvadrate od papira. Učiteljica je to primetila i dala mu je zadatak da izračuna ukupnu površinu svih kvadratića. Napiši program koji Peri pomaže da to uradi. Pera, na samom početku unosi broj "n" za koji je siguran da je veći ili jednak broju kvadratića. Nakon toga, unosi najviše n brojeva koji predstavljaju dužine stranica kvadratića, pri čemu, ako primeti da kvadratića ima manje od broja n, on unosi −1, čime označava da je potrebno prekinuti unos.
Pera se tokom časa igrao i seckao kvadrate od papira. Učiteljica je to primetila i dala mu je zadatak da izračuna ukupnu površinu svih kvadratića. Napiši program koji Peri pomaže da to uradi. Pera, na samom početku unosi broj "n" za koji je siguran da je veći ili jednak broju kvadratića. Nakon toga, unosi najviše n brojeva koji predstavljaju dužine stranica kvadratića, pri čemu, ako primeti da kvadratića ima manje od broja n, on unosi −1, čime označava da je potrebno prekinuti unos.
Ulaz
Sa standardnog ulaza se učitava broj n (0≤n≤15), a zatim 1≤m≤n celih brojeva između 11 i 1010, pri čemu, ako je m<n, onda se nakon njih unosi −1.
Izlaz
Na standardni izlaz ispisati jedan ceo broj koji predstavlja ukupnu površinu svih kvadrata.
Primer 1
Ulaz
5
1
2
3
4
5
Izlaz
55
Primer 2
Ulaz
5
1
2
3
-1
Izlaz
14
Sa standardnog ulaza se učitava broj n (0≤n≤15), a zatim 1≤m≤n celih brojeva između 11 i 1010, pri čemu, ako je m<n, onda se nakon njih unosi −1.
Izlaz
Na standardni izlaz ispisati jedan ceo broj koji predstavlja ukupnu površinu svih kvadrata.
Primer 1
Ulaz
5
1
2
3
4
5
Izlaz
55
Primer 2
Ulaz
5
1
2
3
-1
Izlaz
14
24. Štednja u banci
Odredi za koliko godina udeo u banci od U dinara sa godišnjom kamatnom stopom P% raste na R dinara
25. Mesečna zarada
Napravite mini račun po mesecima. Učitajte mesečnu zaradu. Za svaki dan zapišite koliko ste novca potrošili (jedan ciklus). Pročitajte prekid kada od ukupne plate ostane manje od 10 dinara. Ako ste uneli minus, odštampajte poruku o tome. Odštampajte broj dana u kojima ste potrošili novac.
26. Pucanje u metu
Data je meta N koncentričnih krugova prečnika r = 1,2, ..., 10 i tačka A (x,y) u meti. Za pogodak u krug najmanjeg prečnika dobija se 10 poena, a za svaki sledeći prsten jedan manje. Napišite program koji određuje koliko bodova će biti postignuto za pogodak , ako se unose koordinate tačke A u odnosu na centar mete.
27. Koncentracija soli
U posudi se nalazi p% rastvor soli u više litara vode. Iz posude se sipa litar smeše i dodaje litar čiste vode, nakon čega se rastvor meša. Ako je N broj „izlivanja“ i „punjenje“, napišite program koji štampa tabelu koncentracije soli u sudu posle svakog „izlivanja“ i „punjenja“.
28. Varijacije bez ponavljanja
Unesite broj elemenata n i broj k elemenata koji variraju. Zatim odredite koliko varijacija postoji bez ponavljanja.
29. Tablica množenja
Napravite program koji štampa tablicu množenja na ekranu:
1 * 1 = 1
1 * 2 = 2
...
9 * 8 = 72
9 * 9 = 81
1 * 1 = 1
1 * 2 = 2
...
9 * 8 = 72
9 * 9 = 81
30. Najmanji zajednički sadržalac
Napravite program koji određuje najmanji zajednički sadržalac dva uneta cela broja.
Sledeće
Ugnježdene petlje primeri >| |