NIZOVI U PROGRAMSKIM JEZICIMA: C,C++,JAVA - PRIMERI
Pre nego što počnete sa rešavanjem zadataka pročitajte lekciju na strani: Nizovi u JAVI ili ako radite u programskom jeziku C ili C++ onda lekciju na strani Nizovi u C/C++.
1. Broj negativnih brojeva
Napisati program kojim se prvo učitava broj elemenata niza N(<=100), a zatim N elemenata celobrojnog niza A(<=100) i ispisuje koliko je u njemu negativnih brojeva.
2. Srednja vrednost
Napisati program kojim se određuje aritmetička sredina pozitivnih vrednosti realnog niza A od N(<=100) elemenata.
3. Određivanje maksimuma i minimuma
Napisati program kojim se prvo učitava broj elemenata niza N(<=100), a zatim N elemenata realnog niza A. Odrediti i ispisati vrednost njegovog:
a) Maksimalnog elementa
b) Minimalnog elementa
a) Maksimalnog elementa
b) Minimalnog elementa
4. Broj učenika sa nadprosečnom visinom
Napisati program koji za niz visina učenika nekog odeljenja određuje prosečnu visinu i koliko je učenika imalo natprosečnu visinu.
5. Meteorološka stanica
Meteorološka stanica je za N dana posmatranja formirala tablicu vrednosti atmosferskog pritiska. Napisati program, koji:
a) Učitava niz vrednosti pritisaka
b) Odrećuje maksimalni, minimalni pritisak i redni broj odgovarajućih dana u nizu
c) Odrediti srednju vrednost pritisaka u toku posmatranja
a) Učitava niz vrednosti pritisaka
b) Odrećuje maksimalni, minimalni pritisak i redni broj odgovarajućih dana u nizu
c) Odrediti srednju vrednost pritisaka u toku posmatranja
6. Različiti elementi niza
Napisati program koji učitani niz celih brojeva transformiše tako da se svaki element niza pojavljuje tačno jednom, pri čemu se čuva redosled elemenata (redosled njihovog prvog pojavljivanja).
Ulaz
U jednoj liniji standardnog ulaza nalazi se broj elemenata niza N (0<N≤10000), a zatim se, u svakoj od N narednih linija standardnog ulaza, nalazi po jedan član niza.
Izlaz
U svakoj liniji standarnog izlaza ispisuje se po jedan element transformisanog niza.
Primer
Ulaz
10
1
3
5
3
1
5
7
2
3
5
Izlaz
1
3
5
7
2
7. Autoprevozno preduzeće
U autoprevoznom preduzeću pri obradi putnih naloga, za jedan dan formirana su dva niza:
niz S[1 ... N] - pređene kilometraže svakog od N autobusa u toku dana i
niz P[1 ... N] - njihova potrošnja goriva
Napisati program koji:
a) Izračunava ukupan pređeni put i ukupnu potrošnju za sva putovanja
b) izračunava srednji pređeni put po autobusu i srednju potrošnju goriva po autobusu
c) određuje indeks autobusa čija je pređena kilometraža maksimalna(minimalna)
d) određuje za svaki autobus pokazatelj ekonomičnosti - potrošnja u litrima na 100 km
niz S[1 ... N] - pređene kilometraže svakog od N autobusa u toku dana i
niz P[1 ... N] - njihova potrošnja goriva
Napisati program koji:
a) Izračunava ukupan pređeni put i ukupnu potrošnju za sva putovanja
b) izračunava srednji pređeni put po autobusu i srednju potrošnju goriva po autobusu
c) određuje indeks autobusa čija je pređena kilometraža maksimalna(minimalna)
d) određuje za svaki autobus pokazatelj ekonomičnosti - potrošnja u litrima na 100 km
8. Izbacivanje elemenata
Broj je nepoželjan u nizu celih brojeva ako deli ukupan broj elemenata (npr. u nizu dužine 10 su nepoželjni elementi koji dele broj 10, a to su 1, 2, 5 i 10).
Potrebno je pronaći sve nepoželjne elemente u nizu i ukloniti ih. Nakon toga se broj elemenata može promeniti i neki drugi elementi mogu postati nepoželjni. Postupak se ponavlja dok se ne dobije niz bez nepoželjnih elemenata.
Napiši program koji za dati niz određuje zbir preostalih elemenata, nakon uklanjanja nepoželjnih.
Potrebno je pronaći sve nepoželjne elemente u nizu i ukloniti ih. Nakon toga se broj elemenata može promeniti i neki drugi elementi mogu postati nepoželjni. Postupak se ponavlja dok se ne dobije niz bez nepoželjnih elemenata.
Napiši program koji za dati niz određuje zbir preostalih elemenata, nakon uklanjanja nepoželjnih.
Ulaz
Sa standardnog ulaza se unosi broj n (1≤n≤50000), a zatim i n
elemenata niza iz raspona od 1 do 100.
Izlaz
Na standardni izlaz ispisati jedan ceo broj koji predstavlja zbir preostalih elemanata u nizu,
nakon uzastopnog uklanjanja svih nepoželjnih elemenata.
Primer
Ulaz
10
1
2
3
4
5
6
7
8
9
10
Izlaz
24
Prvo se uklanjaju elementi 1, 2, 5 i 10 koji dele dužinu 10, zatim se uklanjaju elementi 3 i 6 koji dele dužinu
6 i na kraju se uklanja element 4, tako da ostaju elementi 7, 8 i 9 čiji je zbir 24.
Sa standardnog ulaza se unosi broj n (1≤n≤50000), a zatim i n
elemenata niza iz raspona od 1 do 100.
Izlaz
Na standardni izlaz ispisati jedan ceo broj koji predstavlja zbir preostalih elemanata u nizu,
nakon uzastopnog uklanjanja svih nepoželjnih elemenata.
Primer
Ulaz
10
1
2
3
4
5
6
7
8
9
10
Izlaz
24
Prvo se uklanjaju elementi 1, 2, 5 i 10 koji dele dužinu 10, zatim se uklanjaju elementi 3 i 6 koji dele dužinu
6 i na kraju se uklanja element 4, tako da ostaju elementi 7, 8 i 9 čiji je zbir 24.
9. Ciklično pomeranje za jedno mesto
Napisati program koji učitava niz celih brojeva a zatim ga transformiše tako što se ciklično pomeraju zadati delovi niza od pozicije p do pozicije q sve dok se ne unesu dve jednake pozicije. Pri tome vršiti ciklično pomeranje udesno ako je p<q, a pomernje ulevo vršiti ako je p>q.
Ulaz
U jednoj liniji standardnog ulaza nalazi se broj elemenata niza n (1<n≤200), a zatim se, u svakoj od nn narednih linija standardnog ulaza, nalazi po jedan član niza. U narednim redovima se unose po dva cela broja, p i q (0≤p,q<n), odvojena prazninom dok se ne unese red u kome su brojevi jednaki.
Izlaz
U svakoj liniji standarnog izlaza ispisuje se po jedan element transformisanog niza.
Primer
Ulaz
4 1 2 3 4 2 3 2 0 1 2 0 0
Izlaz
2 1 4 3
U jednoj liniji standardnog ulaza nalazi se broj elemenata niza n (1<n≤200), a zatim se, u svakoj od nn narednih linija standardnog ulaza, nalazi po jedan član niza. U narednim redovima se unose po dva cela broja, p i q (0≤p,q<n), odvojena prazninom dok se ne unese red u kome su brojevi jednaki.
Izlaz
U svakoj liniji standarnog izlaza ispisuje se po jedan element transformisanog niza.
Primer
Ulaz
4 1 2 3 4 2 3 2 0 1 2 0 0
Izlaz
2 1 4 3
10. Translacija tačaka
Date su koordinate N tačaka u ravni. Translirati tačke tako da im težište bude u koordinatnom početku.
Ulaz
U prvoj liniji standardnog ulaza nalazi se prirodan broj n (1≤n≤100). U sledećih n linija nalaze se po dva realna broja, koji predstavljaju x i y koordinate tačaka.
Izlaz
Na standardnom izlazu prikazati koordinate tačaka posle translacije, za svaku tačku u jednoj liniji njenu x pa y koordinatu, koordinate odvojiti jednom prazninom i prikazati ih na dve decimale.
Primer
Ulaz
3
0 0
1 0
2 3
Izlaz
-1.00 -1.00
0.00 -1.00
1.00 2.00
U prvoj liniji standardnog ulaza nalazi se prirodan broj n (1≤n≤100). U sledećih n linija nalaze se po dva realna broja, koji predstavljaju x i y koordinate tačaka.
Izlaz
Na standardnom izlazu prikazati koordinate tačaka posle translacije, za svaku tačku u jednoj liniji njenu x pa y koordinatu, koordinate odvojiti jednom prazninom i prikazati ih na dve decimale.
Primer
Ulaz
3
0 0
1 0
2 3
Izlaz
-1.00 -1.00
0.00 -1.00
1.00 2.00
11. Majstor
Napomena: Zadatak sa 1. kruga kvalifikacija SEZONA 2022/2023. Preuzeto sa takprog.petlja.org/osnovnaskola
Nakon izvođenja radova majstor Peri je vraćeno n kutija sa šrafovima. Kutije su korišćene i mogu sadržati različite brojeve šrafova.
Majstor Pera hoće da koristi dve kutije sa najmanjim brojem šrafova. Pomozite majstor Peri da izračuna koliko ukupno šrafova ima u tako izabrane dve kutije.
Ulaz
U prvoj liniji standardnog ulaza unosi se ukupan broj kutija n ( 2 ≤ n ≤ 30).
Zatim se u narednih n linija unose brojevi šrafova u kutijama k i (1≤k i ≤100), redom.
Izlaz
Na standardni izlaz ispisati ceo broj koji predstavlja zbir šrafova u dve kutije sa najmanje šrafova.
Primer 1
Ulaz
5
45
32
9
15
67
Izlaz
24
Primer2
Ulaz
7
764
455
721
231
138
97
333
Izlaz
235
Primer 3
Ulaz
5
28
14
30
15
14
Izlaz
28
Nakon izvođenja radova majstor Peri je vraćeno n kutija sa šrafovima. Kutije su korišćene i mogu sadržati različite brojeve šrafova.
Majstor Pera hoće da koristi dve kutije sa najmanjim brojem šrafova. Pomozite majstor Peri da izračuna koliko ukupno šrafova ima u tako izabrane dve kutije.
Ulaz
U prvoj liniji standardnog ulaza unosi se ukupan broj kutija n ( 2 ≤ n ≤ 30).
Zatim se u narednih n linija unose brojevi šrafova u kutijama k i (1≤k i ≤100), redom.
Izlaz
Na standardni izlaz ispisati ceo broj koji predstavlja zbir šrafova u dve kutije sa najmanje šrafova.
Primer 1
Ulaz
5
45
32
9
15
67
Izlaz
24
Primer2
Ulaz
7
764
455
721
231
138
97
333
Izlaz
235
Primer 3
Ulaz
5
28
14
30
15
14
Izlaz
28
12. Broj dana odmerenog treninga
Napomena: Zadatak sa 1. kruga kvalifikacija SEZONA 2022/2023. Preuzeto sa takprog.petlja.org/osnovnaskola
Prilikom pripreme za predstojeća takmičenja, sportista svakog dana meri rezultat koji je postigao. Pošto želi da ravnomerno podiže formu, želi da svaki dan rezultat bude sve bolji (veći broj predstavlja bolji rezultat). Za neki dan treninga ćemo reći da je dobar, ako je rezultat postignut tog dana strogo bolji nego prethodnog, a strogo lošiji nego narednog (da bi bio dobar, za prvi dan je dovoljno da je strogo lošiji od narednog, a za poslednji dan da je strogo bolji od prethodnog).
Napiši program koji izračunava broj dobrih dana.
Ulaz:
Sa standardnog ulaza se učitava broj dana n(3 ≤ n ≤ 100) tokom kojih je sportista trenirao, a u
drugom redu rezultati koje je sportista postizao tokom svakog od tih n dana.
Izlaz:
Na standardni izlaz ispisati broj dobrih dana.
Primer 1
Ulaz
6
100 120 130 110 140 150
Izlaz
4
Primer 2
Ulaz
6
10 20 30 40 50 60
Izlaz
6
Prilikom pripreme za predstojeća takmičenja, sportista svakog dana meri rezultat koji je postigao. Pošto želi da ravnomerno podiže formu, želi da svaki dan rezultat bude sve bolji (veći broj predstavlja bolji rezultat). Za neki dan treninga ćemo reći da je dobar, ako je rezultat postignut tog dana strogo bolji nego prethodnog, a strogo lošiji nego narednog (da bi bio dobar, za prvi dan je dovoljno da je strogo lošiji od narednog, a za poslednji dan da je strogo bolji od prethodnog).
Napiši program koji izračunava broj dobrih dana.
Ulaz:
Sa standardnog ulaza se učitava broj dana n(3 ≤ n ≤ 100) tokom kojih je sportista trenirao, a u
drugom redu rezultati koje je sportista postizao tokom svakog od tih n dana.
Izlaz:
Na standardni izlaz ispisati broj dobrih dana.
Primer 1
Ulaz
6
100 120 130 110 140 150
Izlaz
4
Primer 2
Ulaz
6
10 20 30 40 50 60
Izlaz
6
13. Razmena najvećeg sa prvim elementom niza
Učitati broj elemenata niza, a zatim i elemente tog niza. U nizu odrediti poziciju maksimalnog elementa i razmeniti ga sa prvim u nizu.
Primer:
Ulaz:
7
3 5 12 -3 4 2 8
Izlaz
12 5 3 -3 4 2 8
Primer:
Ulaz:
7
3 5 12 -3 4 2 8
Izlaz
12 5 3 -3 4 2 8
Rešenje u programskom jeziku C
Uneti broj elemenata niza , a zatim uneti sve elemente tog niza
Odrediti indeks maksimalnog element u nizu na sledeci nacin
- Postaviti maksimum da bude vrednost prvog elementa u nizu, a zatim
- Unutar ciklusa, koristeci for petlju proveravati da li je tekući element niza možda veći od trenutnog maksimuma
- Ako jeste postaviti taj element za maksimalni
- Zabeležiti indeks u trenutku menjanja maksimuma
- Po izlasku iz petlje zabeleženi indeks je indeks maksimalnog elementa u datom nizu
Izvšiti zamenu elemenata na prvoj i prethodno određenoj poziciji maksimuma
#include < stdio.h>
#include < stdlib.h >
int main()
{
#include < stdlib.h >
int main()
{
int n,pozMax,max;
scanf("%d",&n);
int A[n];
for(int i=0; i
{
//Odrediti max
max=A[0];
for(int i=0; i < n; i++)
{
//Zamena
int temp=A[0];
A[0]=A[pozMax];
A[pozMax]=temp;
//Ispis posle zamene
for(int i=0; i < n; i++)
{
return 0;
}scanf("%d",&n);
int A[n];
for(int i=0; i
scanf("%d",&A[i]);
}//Odrediti max
max=A[0];
for(int i=0; i < n; i++)
{
if(A[i] > max)
{
}{
max=A[i];
pozMax=i;
}pozMax=i;
//Zamena
int temp=A[0];
A[0]=A[pozMax];
A[pozMax]=temp;
//Ispis posle zamene
for(int i=0; i < n; i++)
{
printf("%d ",A[i] );
}return 0;
14. Izbacivanje maksimalnih elemenata niza
Od niza A dužine n(n<=100) formiraj niz B dobijen izbacivanjem svakog pojavljivanja maksimalnog člana iz niza A. Ispisati formiran niz B.
Primer:
Ulaz:
7
5 15 12 -13 15 2 8 15
Izlaz
5 12 -13 2 8
Primer:
Ulaz:
7
5 15 12 -13 15 2 8 15
Izlaz
5 12 -13 2 8
Rešenje u programskom jeziku C
Uneti broj elemenata niza , a zatim uneti sve elemente tog niza
Odrediti maksimalni element u nizu
- Postaviti uslov unutar for petlje koji ispituje da li je tekuci element niza jednak maksimumu
- Ako jeste prepisati taj element posmatranog niza u novi niz i povecati poziciju novog niza za 1
#include < stdio.h>
#include < stdlib.h >
int main()
{
#include < stdlib.h >
int main()
{
int A[100],B[100],n,max,f=0;
scanf("%d",&n);
for(int i=0; i < n; i++)
{
/*Odredjivanje maksimuma u nizu*/
max=A[0];
for(int i=0; i < n; i++)
{
/*Prepisivanje u novi niz svih elemenata sem onih koji su jednaki maksimumu*/
for(int i=0; i < n; i++)
{
return 0;
}scanf("%d",&n);
for(int i=0; i < n; i++)
{
scanf("%d",&A[i]);
}/*Odredjivanje maksimuma u nizu*/
max=A[0];
for(int i=0; i < n; i++)
{
if(A[i] >= max)
}
max=A[i];
/*Prepisivanje u novi niz svih elemenata sem onih koji su jednaki maksimumu*/
for(int i=0; i < n; i++)
{
if(A[i] < max)
{
}{
B[f]=A[i];
printf("%d\n",B[f]);
f++;
}printf("%d\n",B[f]);
f++;
return 0;
15. Elementi realnog niza
Dat je niz realnih brojeva. Odrediti:
a) odnos sume elemenata niza, do prvog maksimuma i sume elemenata iza prvog maksimuma
b) proizvod elemenata između maksimalnog i minimalnog elementa
c) aritmetičku sredinu elemenata između poslednjeg maksimalnog i "centralnog". Pretpostavka je da je broj elemenata neparan
a) odnos sume elemenata niza, do prvog maksimuma i sume elemenata iza prvog maksimuma
b) proizvod elemenata između maksimalnog i minimalnog elementa
c) aritmetičku sredinu elemenata između poslednjeg maksimalnog i "centralnog". Pretpostavka je da je broj elemenata neparan