Petlje – primeri (C, C++, Java)

Strana 4 od 11 · Osnovni primeri

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++ili, ako radite u programskom jeziku JAVA
Petlje u Javi

Pre nego što počneš: pročitaj lekcije Petlje u jeziku C, Petlje u jeziku C++.
Kako da vežbaš: prvo pokušaj sam/a da rešiš zadatak (makar na papiru), zatim otvori uputstvo, a rešenje tek na kraju. Rešenja su najčešće u jeziku C ili C++; ako učiš Javu ili Python, prepiši ideju u svoj jezik.
ZADATAK 01

Klub za koga navijate

Koristeći for ciklus ispisati 10 puta naziv kluba za koga navijate.

ZADATAK 02

Ispisivanje niza brojeva

Ispisati sve parne brojeve na intervalu od -55 do 55.

ZADATAK 03

Ispisivanje brojeva po redovima i kolonama

Ispisati prvih 100 prirodnih neparnih brojeva u 10 reda i 10 kolona

ZADATAK 04

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]

ZADATAK 05

Sabrati parne brojeve

Sabrati sve parne brojeve između 10 do 50.

ZADATAK 06

Prosek ocena

Učitati broj predmeta n, a zatim učitati ocene iz n predmeta i izračunati prosečnu ocenu

ZADATAK 07

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.

ZADATAK 08

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

ZADATAK 09

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.

ZADATAK 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.

ZADATAK 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.

ZADATAK 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.

ZADATAK 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.

ZADATAK 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.

ZADATAK 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-

ZADATAK 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

ZADATAK 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

ZADATAK 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

ZADATAK 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

ZADATAK 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

ZADATAK 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

ZADATAK 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.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

ZADATAK 24

Štednja u banci

Odredi za koliko godina udeo u banci od U dinara sa godišnjom kamatnom stopom P% raste na R dinara

ZADATAK 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.

ZADATAK 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.

ZADATAK 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“.

ZADATAK 28

Varijacije bez ponavljanja

Unesite broj elemenata n i broj k elemenata koji variraju. Zatim odredite koliko varijacija postoji bez ponavljanja.

ZADATAK 29

Najmanji zajednički sadržalac

Napravite program koji određuje najmanji zajednički sadržalac dva uneta cela broja.

ZADATAK 30

Sabiranje u različitim brojnim sistemima

Tekst zadatka: Za 2 broja X i Y, zadata u sistemu sa osnovom Q(1<Q<=10), odrediti njihov zbir.Rešenje:

PictureAko je Q!=10 onda je reč o nekom drugom brojnom sistemu, a ne o dekadnom.
Ako je Q=2 onda je reč o BINARNOM brojnom sistemu.
Klikni na dugme ispod ili na sliku za kompletno rešenje.

ZADATAK 31

Poslednje cifre faktorijela

Napisati program kojim se određuje broj završnih nula u N!(faktorijel).

Otvori rešenje
ZADATAK 32

Pogodi slučajan broj

Napisati program kojim računar zamisli slučajan ceo broj na intervalu [a,b] i od korisnika traži da ga pogodi, pomažući mu porukom, iz koje se vidi da li je uneti broj veći ili manji od zamišljenog.
Broj pogađanja ograničiti sa ceil(log(b-a+1)/log(2)).
U slučaju da nije u stanju da u datom broju pogađanja dođe do traženog broja, prekida se pogađanje i izdaje poruka: "Loše pogađate"

Otvori rešenje
ZADATAK 33

Suma faktorijela cifara

Napisati program kojim se štampaju svi trocifreni brojevi (ako ih ima)koji su jednaki sumi faktorijela svojih cifara.Prethodno
|< Grananje u programu - primeriSledeće
Ugnježdene petlje primeri>|

Česte greške i saveti
  • Pre petlje postavi početne vrednosti: zbir na 0, proizvod na 1, minimum na prvi element.
  • Proveri granice: i < n ili i <= n? Isprobaj petlju „ručno“ za n = 1 i n = 2.
  • Kod while petlje promenljiva iz uslova mora da se menja u telu petlje – inače je petlja beskonačna.

Proveri znanje

Otvori kviz

Mini kviz: petlje

1. Koliko puta se izvrši telo petlje for (int i = 0; i < 10; i += 2)?




2. Na koju vrednost treba postaviti promenljivu u kojoj računamo proizvod?




3. Koja petlja se uvek izvrši bar jednom?




Još zadataka za vežbu