PETLJE - PRIMERI(C,C++,JAVA)
Petlje u programskom jeziku C/C++
Petlje u Javi
1. Klub za koga navijate
2. Ispisivanje niza brojeva
3. Ispisivanje brojeva po redovima i kolonama
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
{
if(ciklus % 10 == 0)
printf("\n");
}
4. Celzijusi 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]
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
using namespace std;
int main()
{
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)
{
f=c*9.0/5.0+32;
cout << c << "[C] " << f << "[F]"<<endl;
5. Sabrati parne brojeve
6. Prosek ocena
7. Uklanjanje nula sa desne strane
8. Deljenje broja sa istim deliocem
9. Trening
10. Troškovnik
11. Simulacija slobodnog pada
12. Kamata
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
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
15. Berza
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
Napisati program koji odbrojava unazad od datog broja do nule.
17. Najave emisije
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
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
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
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
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
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
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.
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
25. Mesečna zarada
26. Pucanje u metu
27. Koncentracija soli
28. Varijacije bez ponavljanja
29. Tablica množenja
1 * 1 = 1
1 * 2 = 2
...
9 * 8 = 72
9 * 9 = 81
30. Najmanji zajednički sadržalac
31. Sabiranje u različitim brojnim sistemima
Ako je Q=2 onda je reč o BINARNOM brojnom sistemu.
Klikni na dugme ispod ili na sliku za kompletno rešenje.
32. Poslednje cifre faktorijela
U prvom delu zadatka treba učitati N, a zatim kroz petlju odrediti N!.
N! = N*(N-1)*(N-2)*...*1
Formirati proizvod T,tako što se pre ciklusa zada da bude jednaka N, a zatim se u svakom narednom pomnoži sa umanjenom vrednošću T za 1
U drugom delu zadatka, polazni broj je prethodno izračunata vrednost faktorijela F
Ova vrednost se kroz while ciklus deli sa 10 sve dok je broj F deljiv sa 10
Broj ostvarenih ciklusa je zapravo broj završnih nula
33. Pogodi slučajan broj
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"
Računar "zamisli" broj tako što se programski slučajan broj generiše upotrebom rand() funkcije iz zaglavlja stdlib.h.
Zatim se izračunava maksimalni broj pokušaja
p=ceil(log(b-a+1)/log(2))
Kroz while petlju se ponavlja pogađanje, najviše p puta.
Kada korisnik unese broj, proverava se da li je broj jednak, manji ili veći od zamišljenog.
Ako je jednak, prekida se ciklus.
Za uslov petlje se koristi logička promenljiva "pogodak", koja je pre ciklusa postavljena na vrednost 0(FALSE), a kad korisnik unese broj koji je jednak zamišljenom, vrednost te promenljive se promeni na 1(true).
34. Suma faktorijela cifara
Kroz for petlju, koja treba da menja kontrolnu promenljivu od 100-999 i koja ujedno predstavlja tekući trocifreni broj, treba izvući cifre, a zatim:
- Za svaku cifru je potrebno odrediti njen faktorijel(vidi zadatak 32)
- Odrediti sumu faktorijela tih cifara
- Proveriti da li je ta suma jednaka sa brojem i ako jeste, odštampati ga.
{
if(ciklus % 10 == 0)
printf("\n");
}
Sledeće
Ugnježdene petlje primeri >| |