Professional Documents
Culture Documents
Zadaci C PDF
Zadaci C PDF
Kolegij
Osnove programiranja
Rijeeni C# primjeri
Recenzent
prof. dr. sc. Mirjana Bonkovi
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Sadraj
3. Petlje .............................................................................................................. 37
Zadaci ............................................................................................................... 39
Rjeenja ............................................................................................................ 43
4. Nizovi.............................................................................................................. 67
Zadaci ............................................................................................................... 69
Rjeenja ............................................................................................................ 71
Prikazani rezultati nastali su u okviru programa TEST - Tehnologijski istraivako-razvojni projekti, uz potporu
Hrvatskog instituta za tehnologiju.
Visoka poslovna kola MINERVA
Studij za informatiki menadment
1. Varijable i operatori
3
Visoka poslovna kola MINERVA
Studij za informatiki menadment
4
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Zadaci
1. Napiite program u kojem ete deklarirati dvije varijable x i y tipa int i float.
Varijabli y (float) dodijelite vrijednost 50.45, a varijabli x (int) dodijelite vrijednost varijable y.
Na kraju ispiite vrijednosti obaju varijabli.
2. Napiite program u kojem ete deklarirati varijable x, y i z tipova long, float i double.
Varijabli y (float) dodijelite vrijednost 18.5, a varijabli x (long) i z (double) dodijelite vrijednost
varijable y.
Na kraju ispiite vrijednosti sve tri varijable.
5. Napiite program u kojem ete deklarirati dvije varijable x i y tipa int, te uradite sljedee:
dodijelite im vrijednosti 5 (x) i 10 (y)
ispiite vrijednosti varijable x i y
zamijenite im vrijednosti
ponovo im ispiite vrijednosti
6. Napiite program u kojem ete deklarirati dvije varijable x i y tipova float (x) i double (y), te
uradite sljedee:
dodijelite im vrijednosti 4.5 (x) i 7.5 (y)
ispiite vrijednosti varijabli x i y
zamijenite im vrijednosti
ponovo im ispiite vrijednosti
7. Napiite program u kojem ete deklarirati etiri varijable: a, b, c i d tipova int (a), long (b),
float (c) i double (d) te uradite sljedee:
varijabli d dodijelite vrijednost 3.14159265
varijabli c dodijelite vrijednost varijable d
varijabli b dodijelite vrijednost varijable c
varijabli a dodijelite vrijednost varijable b
ispiite vrijednosti svih etiriju varijabli
5
Visoka poslovna kola MINERVA
Studij za informatiki menadment
a2 + b2 + c2 + d2
(a + b)2 + (c + d)2
(a + b + c + d)2
a2 + b2 - c2 + d2
10. Napiite program u kojem ete deklarirati varijable x i y tipa int, te im dodijelite vrijednosti
20 (x) i 3 (y). Deklarirajte varijable d1 i d2 tipa double, te im dodijelite sljedee vrijednosti:
d1 dodijelite vrijednost dijeljenja x s y i pritom osigurajte tonost dijeljenja
d2 dodijelite vrijednost ostatka kod dijeljenja x s y
Na kraju ispiite vrijednosti varijabli d1 i d2.
11. Napiite program u kojem ete deklarirati varijable a i b tipa int, te im dodijelite vrijednosti
100 (a) i 3 (b). Ispiite njihove vrijednosti u sljedeem obliku:
a dijeljeno s b je x i ostatak y.
12. Napiite program u kojem ete deklarirati varijable a i b tipa int, c i d tipa double, dodijelite
im vrijednosti 10, 7, 12.5 i 16.7, te izraunajte prosjenu vrijednost.
13. Napiite program u kojem ete zatraiti od korisnika da unese niz znakova, te ete definirati
sljedee varijable:
sVelika koja e sadravati uneeni niz pretvoren u velika slova
sMala koja e sadravati uneeni niz pretvoren u mala slova
sPrvaTri koja e sadravati prva tri znaka uneenog niza
sZadnjihPet koja e sadravati zadnjih pet znakova uneenog niza
s8_11 koja e sadravati od 8. do 11. znaka uneenog niza
Na kraju i ispiite vrijednosti navedenih varijabli.
14. Napiite program u kojem ete definirati sljedee dvije varijable tipa string:
s1 sa sadrajem "Hrvatska ima more"
s2 sa sadrajem "Italija je prvak svijeta"
Definirajte i ispiite string s3 iji e sadraj biti prvih 8 znakova stringa s1 plus svi znakovi od
sedmog do kraja niza s2.
15. Napiite program u kojem ete zatraiti od korisnika da unese niz znakova te e svaki razmak
zamijeniti znakom '_'.
16. Napiite program u kojem ete zatraiti od korisnika da unese niz znakova te e svako
pojavljivanje znaka 'A' zamijeniti sa znakom 'B' i obratno (npr. BAOBAB - > ABOABA).
17. Napiite program u kojem ete zatraiti od korisnika da unese decimalni broj te ete ispisati
iznos decimala (npr. 12.45 -> 0.45).
6
Visoka poslovna kola MINERVA
Studij za informatiki menadment
18. Napiite program u kojem ete zatraiti od korisnika da unese jedan cijeli i jedan decimalni
broj odvojene razmakom. Dvostruke vrijednosti uneenih brojeva spremite u odgovarajue
varijable x i y, te ih ispiite.
19. Napiite program koji e zatraiti od korisnika da unese neku reenicu te e ispisati prvu i
zadnju rije te reenice.
20. Napiite program koji e zatraiti od korisnika da unese broj sekundi, te e izraunati koliko
je to minuta, a koliko sekundi (npr. 204 -> 3 minute i 24 sekunde).
21. Napiite program koji e zatraiti od korisnika da unese broj minuta, te e izraunati koliko je
to dana, koliko sati i koliko minuta (npr. 5000 -> 3 dana, 11 sati, 20 minuta).
7
Visoka poslovna kola MINERVA
Studij za informatiki menadment
8
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Rjeenja
1. Napiite program u kojem ete deklarirati dvije varijable x i y tipa int i float.
Varijabli y (float) dodijelite vrijednost 50.45, a varijabli x (int) dodijelite vrijednost varijable y.
Na kraju ispiite vrijednosti obaju varijabli.
--------------------------------------------------------------------------------------------------------------------
using System;
y = 50.45f;
x = (int)y;
Console.WriteLine("{0} {1}", x, y);
}
}
2. Napiite program u kojem ete deklarirati varijable x, y i z tipova long, float i double.
Varijabli y (float) dodijelite vrijednost 18.5, a varijabli x (long) i z (double) dodijelite vrijednost
varijable y.
Na kraju ispiite vrijednosti sve tri varijable.
--------------------------------------------------------------------------------------------------------------------
using System;
y = 18.5f;
x = (long)y;
z = y;
Console.WriteLine("{0} {1} {2}", x, y, z);
}
}
9
Visoka poslovna kola MINERVA
Studij za informatiki menadment
using System;
using System;
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(d);
Console.WriteLine(x);
Console.WriteLine(s);
}
}
5. Napiite program u kojem ete deklarirati dvije varijable x i y tipa int te uradite sljedee:
10
Visoka poslovna kola MINERVA
Studij za informatiki menadment
using System;
class Test
{
public static void Main()
{
int x = 5, y = 10;
Console.WriteLine("{0} {1}", x, y);
int z = x;
x = y;
y = z;
Console.WriteLine("{0} {1}", x, y);
}
}
6. Napiite program u kojem ete deklarirati dvije varijable x i y tipova float (x) i double (y), te
uradite sljedee:
dodijelite im vrijednosti 4.5 (x) i 7.5 (y)
ispiite vrijednosti varijable x i y
zamijenite im vrijednosti
ponovo im ispiite vrijednosti
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
float x = 4.5f;
double y = 7.5;
Console.WriteLine("{0} {1}", x, y);
double z = x;
x = (float)y;
y = z;
Console.WriteLine("{0} {1}", x, y);
}
}
7. Napiite program u kojem ete deklarirati etiri varijable: a, b, c i d tipova int (a), long (b),
float (c) i double (d) te uradite sljedee:
varijabli d dodijelite vrijednost 3.14159265
varijabli c dodijelite vrijednost varijable d
varijabli b dodijelite vrijednost varijable c
varijabli a dodijelite vrijednost varijable b
ispiite vrijednosti svih etiriju varijabli
--------------------------------------------------------------------------------------------------------------------
using System;
11
Visoka poslovna kola MINERVA
Studij za informatiki menadment
a2 + b2 + c2 + d2
(a + b)2 + (c + d)2
--------------------------------------------------------------------------------------------------------------------
using System;
double x = (a * a + b * b + c * c + d * d) /
((a + b) * (a + b) + (c + d) * (c + d));
Console.WriteLine(x);
}
}
(a + b + c + d)2
a2 + b2 - c2 + d2
--------------------------------------------------------------------------------------------------------------------
using System;
12
Visoka poslovna kola MINERVA
Studij za informatiki menadment
double x = (a + b + c + d) * (a + b + c + d) /
(a*a + b*b - c*c + d*d);
Console.WriteLine(x);
}
}
10. Napiite program u kojem ete deklarirati varijable x i y tipa int, te im dodijelite vrijednosti
20 (x) i 3 (y). Deklarirajte varijable d1 i d2 tipa double, te im dodijelite sljedee vrijednosti:
d1 dodijelite vrijednost dijeljenja x s y i pritom osigurajte tonost dijeljenja
d2 dodijelite vrijednost ostatka kod dijeljenja x s y
Na kraju ispiite vrijednosti varijabli d1 i d2.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int x = 20, y = 3;
double d1, d2;
d1 = (double)x / y;
d2 = x % y;
Console.WriteLine("{0} {1}", d1, d2);
}
}
11. Napiite program u kojem ete deklarirati varijable a i b tipa int, te im dodijelite vrijednosti
100 (a) i 3 (b). Ispiite njihove vrijednosti u sljedeem obliku:
a dijeljeno s b je x i ostatak y.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int a = 100, b = 3;
Console.WriteLine("{0} dijeljeno s {1} je {2} i ostatak {3}",
a, b, a / b, a % b);
}
}
12. Napiite program u kojem ete deklarirati varijable a i b tipa int, c i d tipa double, dodijelite
im vrijednosti 10, 7, 12.5 i 16.7, te izraunajte prosjenu vrijednost.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int a = 10, b = 7;
double c = 12.5, d = 16.7;
13
Visoka poslovna kola MINERVA
Studij za informatiki menadment
double p = (a + b + c + d) / 4;
Console.WriteLine(p);
}
}
13. Napiite program u kojem ete zatraiti od korisnika da unese niz znakova, te ete definirati
sljedee varijable:
sVelika koja e sadravati uneeni niz pretvoren u velika slova
sMala koja e sadravati uneeni niz pretvoren u mala slova
sPrvaTri koja e sadravati prva tri znaka uneenog niza
sZadnjihPet koja e sadravati zadnjih pet znakova uneenog niza
s8_11 koja e sadravati od 8. do 11. znaka uneenog niza
Na kraju i ispiite vrijednosti navedenih varijabli.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Unesite niz znakova:");
string s = Console.ReadLine();
Console.WriteLine();
Console.WriteLine(sVelika);
Console.WriteLine(sMala);
Console.WriteLine(sPrvaTri);
Console.WriteLine(sZadnjihPet);
Console.WriteLine(s8_11);
}
}
14. Napiite program u kojem ete definirati sljedee dvije varijable tipa string:
s1 sa sadrajem "Hrvatska ima more"
s2 sa sadrajem "Italija je prvak svijeta"
Definirajte i ispiite string s3 iji e sadraj biti prvih 8 znakova stringa s1 plus svi znakovi od
osmog do kraja niza s2.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
string s1 = "Hrvatska ima more";
string s2 = "Italija je prvak svijeta";
14
Visoka poslovna kola MINERVA
Studij za informatiki menadment
15. Napiite program u kojem ete zatraiti od korisnika da unese niz znakova te e svaki razmak
zamijeniti znakom '_'.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Unesite niz znakova:");
string s = Console.ReadLine();
s = s.Replace(' ', '_');
Console.WriteLine(s);
}
16. Napiite program u kojem ete zatraiti od korisnika da unese niz znakova te e svako
pojavljivanje znaka 'A' zamijeniti sa znakom 'B' i obratno (npr. BAOBAB - > ABOABA).
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Unesite niz znakova");
string s = Console.ReadLine();
s = s.Replace('A', (char)0);
s = s.Replace('B', 'A');
s = s.Replace((char)0, 'B');
Console.WriteLine(s);
}
}
17. Napiite program u kojem ete zatraiti od korisnika da unese decimalni broj te ete ispisati
iznos decimala (npr. 12.45 -> 0.45).
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Unesite neki decimalni broj:");
string s = Console.ReadLine();
double d = Convert.ToDouble(s);
15
Visoka poslovna kola MINERVA
Studij za informatiki menadment
18. Napiite program u kojem ete zatraiti od korisnika da unese jedan cijeli i jedan decimalni
broj odvojene razmakom. Dvostruke vrijednosti uneenih brojeva spremite u odgovarajue
varijable x i y, te ih ispiite.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Unesite cijeli i decimalni broj
odvojene razmakom:");
string s = Console.ReadLine();
int pos = s.IndexOf(' ');
19. Napiite program koji e zatraiti od korisnika da unese neku reenicu te e ispisati prvu i
zadnju rije te reenice.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Unesite neku reenicu:");
string s = Console.ReadLine();
int pos = s.IndexOf(' ');
Console.WriteLine(s.Substring(0, pos));
pos = s.LastIndexOf(' ');
Console.WriteLine(s.Substring(pos+1));
}
}
20. Napiite program koji e zatraiti od korisnika da unese broj sekundi, te e izraunati koliko
je to minuta, a koliko sekundi (npr. 204 -> 3 minute i 24 sekunde).
--------------------------------------------------------------------------------------------------------------------
using System;
16
Visoka poslovna kola MINERVA
Studij za informatiki menadment
{
public static void Main()
{
Console.WriteLine("Unesite broj sekundi:");
string s1 = Console.ReadLine();
int i = Convert.ToInt32(s1);
int m = i / 60;
int s = i - m * 60;
Console.WriteLine("{0} minuta, {1} sekundi", m, s);
}
}
21. Napiite program koji e zatraiti od korisnika da unese broj minuta, te e izraunati koliko je
to dana, koliko sati i koliko minuta (npr. 5000 -> 3 dana, 11 sati, 20 minuta).
--------------------------------------------------------------------------------------------------------------------
using System;
int d = i / 1440;
int h = (i - d * 1440) / 60;
int m = i - d * 1440 - h * 60;
Console.WriteLine("{0} dana, {1} sati, {2} minuta", d, h, m);
}
}
using System;
17
Visoka poslovna kola MINERVA
Studij za informatiki menadment
18
Visoka poslovna kola MINERVA
Studij za informatiki menadment
19
Visoka poslovna kola MINERVA
Studij za informatiki menadment
20
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Zadaci
1. Napiite program koji e od korisnika uzeti neki broj, te e ako je broj negativan ispisati
njegovu vrijednost uveanu za 1, a ako nije negativan ispisat e vrijednost umanjenu za 1.
2. Napiite program koji e od korisnika uzeti neki broj, te ako je broj negativan uveajte ga za 2,
a ako je pozitivan umanjite ga za 3. Na kraju ispiite njegovu vrijednost.
3. Napiite program koji e od korisnika uzeti string, te definirajte novi string koji e sadravati
prva tri i zadnja tri znaka uneenog stringa. Ako je niz duine manje od 7 znakova treba ispisati
cijeli niz.
4. Napiite program koji e od korisnika uzeti string, te definirajte i ispiite novi string koji e
sadravati sve znakove uneenog stringa osim prva dva i zadnja dva znaka. Ako je niz duine
manje od 5 znakova treba ispisati cijeli niz.
5. Napiite program koji e zatraiti od korisnika da unese tri dvoznamenkasta broja odijeljena
zarezom, te e izraunati i ispisati najvei od tri broja (npr. 12,17,15 -> 17).
6. Napiite program koji e zatraiti od korisnika da unese tri dvoznamenkasta broja odijeljena
zarezom, te e izraunati i ispisati koji je od ta tri broja srednji po veliini (npr. 12,17,15 -> 15).
8. Napiite program koji e izraunati koja je najvea vrijednost spremljena u int varijablama a,
b, c i d. Varijablama dodijelite proizvoljne vrijednosti.
9. Ljetne olimpijske igre odravaju se u prijestupnim godinama, dok se zimske odravaju dvije
godine nakon njih. Za prijestupne godine pretpostavite da su sve koje su djeljive s 4.
Napiite program koji e za uneenu godinu ispisati jedno od troje:
U godini XXXX odravaju se ljetne olimpijske igre
U godini XXXX odravaju se zimske olimpijske igre
U godini XXXX ne odravaju se olimpijske igre
10. Napiite program koji e zatraiti od korisnika da unese dva datuma u formatu DD.MM te e
izraunati i ispisati razliku u danima izmeu ta dva datuma. Pretpostavite da svi mjeseci imaju 30
dana, a takoer pretpostavite i da je korisnik unio ispravne (postojee) datume.
11. Napiite program koji e zatraiti od korisnika da unese dva vremena u formatu HH:MM te
e izraunati i ispisati razliku u minutama izmeu ta dva vremena. Pretpostavite da je korisnik
unio ispravna (postojea) vremena.
12. Napiite program koji e zatraiti od korisnika da unese dva datuma u formatu DD.MM, te e
ispisati jednu od sljedee tri poruke.
Vei je prvi datum
Vei je drugi datum
Datumi su jednaki
Pretpostavite da je korisnik unio ispravne (postojee) datume.
21
Visoka poslovna kola MINERVA
Studij za informatiki menadment
13. Napiite program koji e zatraiti od korisnika da unese broj te e u ovisnosti o uneenom
broju ispisati jednu od sljedee 4 poruke:
Broj je djeljiv s 4
Broj je djeljiv s 6
Broj je djeljiv sa 4 i sa 6
Broj nije djeljiv sa 4 ni sa 6
Ako je broj djeljiv i sa 4 i sa 6 mora se ispisati poruka Broj je djeljiv sa 4 i sa 6
14. Napiite program koji e provjeriti mogu li vrijednosti u int varijablama a, b, c i d biti
stranice pravokutnika. Varijablama dodijelite proizvoljne vrijednosti.
15. Napiite program koji e provjeriti mogu li vrijednosti u int varijablama a, b i c biti stranice
trokuta. Varijablama dodijelite proizvoljne vrijednosti.
Napomena: u svakom trokutu je zbroj duljina dviju stranica vei od duljine tree.
16. Napiite program koji e zatraiti od korisnika da unese dva stringa, te e ih ispisati po
abecedi u uzlaznom redoslijedu.
17. Napiite program koji e zatraiti od korisnika da unese tri stringa, te e provjeriti jesu li
uneeni po abecednom redoslijedu.
18. Napiite program koji e zatraiti od korisnika da unese tri stringa, te e ih ispisati po abecedi
u uzlaznom redoslijedu.
20. Napiite program koji e izraunati vrijednost PDV-a na osnovu od korisnika uneenih cijena
bez PDV-a i s PDV-om.
21. Napiite program koji e zatraiti od korisnika da unese datum u formatu DD.MM te e
izraunati i ispisati je li datum ispravan. Pretpostavite da godina za koju se unosi datum nije
prijestupna (npr. 30.04 -> Datum je ispravan).
22. Napiite program koji e od korisnika uzeti niz znakova, te ako je broj znakova u nizu
neparan ispiite srednji znak, a ako je paran ispiite srednja dva znaka.
(npr. SPLIT -> L ZAGREB -> GR)
23. Napiite program koji e zatraiti od korisnika da unese dvoznamenkasti broj, te e ispisati
veu znamenku uneenog broja. Ako su obje znamenke iste ne treba nita ispisati.
24. Napiite program koji e zatraiti od korisnika da unese troznamenkasti broj, te e ispisati
najveu i najmanju znamenku uneenog broja (npr. 517 -> 1 i 7).
22
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Rjeenja
1. Napiite program koji e od korisnika uzeti neki broj, te e ako je broj negativan ispisati
njegovu vrijednost uveanu za 1, a ako nije negativan ispisat e vrijednost umanjenu za 1.
--------------------------------------------------------------------------------------------------------------------
using System;
if(x < 0)
Console.WriteLine(x + 1);
else
Console.WriteLine(x - 1);
}
}
2. Napiite program koji e od korisnika uzeti neki broj, te ako je broj negativan uveajte ga za 2,
a ako je pozitivan umanjite ga za 3. Na kraju ispiite njegovu vrijednost.
--------------------------------------------------------------------------------------------------------------------
using System;
if (x < 0)
x += 2;
else if (x > 0)
x -= 3;
Console.WriteLine(x);
}
}
3. Napiite program koji e od korisnika uzeti string, te definirajte novi string koji e sadravati
prva tri i zadnja tri znaka uneenog stringa. Ako je niz duine manje od 7 znakova treba ispisati
cijeli niz.
--------------------------------------------------------------------------------------------------------------------
using System;
23
Visoka poslovna kola MINERVA
Studij za informatiki menadment
{
public static void Main()
{
Console.WriteLine("Unesite neki string:");
string s = Console.ReadLine();
if(s.Length < 7)
Console.WriteLine(s);
else
{
string s6 = s.Substring(0, 3) +
s.Substring(s.Length - 3, 3);
Console.WriteLine(s6);
}
}
}
4. Napiite program koji e od korisnika uzeti string, te definirajte i ispiite novi string koji e
sadravati sve znakove uneenog stringa osim prva dva i zadnja dva znaka. Ako je niz duine
manje od 5 znakova treba ispisati cijeli niz.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
string s = Console.ReadLine();
if (s.Length < 5)
Console.WriteLine(s);
else
{
string s4 = s.Substring(2, s.Length - 4);
Console.WriteLine(s4);
}
}
}
5. Napiite program koji e zatraiti od korisnika da unese tri dvoznamenkasta broja odijeljena
zarezom, te e izraunati i ispisati najvei od tri broja (npr. 12,17,15 -> 17).
--------------------------------------------------------------------------------------------------------------------
using System;
s1 = s.Substring(3, 2);
int y = Convert.ToInt32(s1);
24
Visoka poslovna kola MINERVA
Studij za informatiki menadment
s1 = s.Substring(6, 2);
int z = Convert.ToInt32(s1);
6. Napiite program koji e zatraiti od korisnika da unese tri dvoznamenkasta broja odijeljena
zarezom, te e izraunati i ispisati koji je od ta tri broja srednji po veliini (npr. 12,17,15 -> 15).
--------------------------------------------------------------------------------------------------------------------
using System;
s1 = s.Substring(3, 2);
int y = Convert.ToInt32(s1);
s1 = s.Substring(6, 2);
int z = Convert.ToInt32(s1);
using System;
25
Visoka poslovna kola MINERVA
Studij za informatiki menadment
if ((x * x + y * y == z * z ||
x * x + z * z == y * y ||
y * y + z * z == x * x)
&&
x > 0 && y > 0 && z > 0)
Console.WriteLine("Trokut je pravokutan");
else
Console.WriteLine("Trokut nije pravokutan");
}
}
8. Napiite program koji e izraunati koja je najvea vrijednost spremljena u int varijablama a,
b, c i d. Varijablama dodijelite proizvoljne vrijednosti.
--------------------------------------------------------------------------------------------------------------------
using System;
9. Ljetne olimpijske igre odravaju se u prijestupnim godinama, dok se zimske odravaju dvije
godine nakon njih. Za prijestupne godine pretpostavite da su sve koje su djeljive s 4.
Napiite program koji e za uneenu godinu ispisati jedno od troje:
U godini XXXX odravaju se ljetne olimpijske igre
U godini XXXX odravaju se zimske olimpijske igre
U godini XXXX ne odravaju se olimpijske igre
--------------------------------------------------------------------------------------------------------------------
using System;
if(year % 4 == 0)
26
Visoka poslovna kola MINERVA
Studij za informatiki menadment
10. Napiite program koji e zatraiti od korisnika da unese dva datuma u formatu DD.MM te e
izraunati i ispisati razliku u danima izmeu ta dva datuma. Pretpostavite da svi mjeseci imaju 30
dana, a takoer pretpostavite i da je korisnik unio ispravne (postojee) datume.
--------------------------------------------------------------------------------------------------------------------
using System;
11. Napiite program koji e zatraiti od korisnika da unese dva vremena u formatu HH:MM te
e izraunati i ispisati razliku u minutama izmeu ta dva vremena. Pretpostavite da je korisnik
unio ispravna (postojea) vremena.
--------------------------------------------------------------------------------------------------------------------
using System;
27
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Console.WriteLine(min);
}
}
12. Napiite program koji e zatraiti od korisnika da unese dva datuma u formatu DD.MM, te e
ispisati jednu od sljedee tri poruke.
Vei je prvi datum
Vei je drugi datum
Datumi su jednaki
Pretpostavite da je korisnik unio ispravne (postojee) datume.
--------------------------------------------------------------------------------------------------------------------
using System;
28
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Console.WriteLine("Datumi su jednaki");
else
Console.WriteLine("Vei je drugi datum");
}
}
13. Napiite program koji e zatraiti od korisnika da unese broj te e u ovisnosti o uneenom
broju ispisati jednu od sljedee 4 poruke:
Broj je djeljiv s 4
Broj je djeljiv s 6
Broj je djeljiv sa 4 i sa 6
Broj nije djeljiv sa 4 ni sa 6
Ako je broj djeljiv i sa 4 i sa 6 mora se ispisati poruka Broj je djeljiv sa 4 i sa 6
--------------------------------------------------------------------------------------------------------------------
using System;
if (x % 4 == 0 && x % 6 == 0)
Console.WriteLine("Broj je djeljiv sa 4 i sa 6");
else if (x % 4 == 0)
Console.WriteLine("Broj je djeljiv sa 4");
else if (x % 6 == 0)
Console.WriteLine("Broj je djeljiv sa 6");
else
Console.WriteLine("Broj nije djeljiv sa 4 ni sa 6");
}
}
14. Napiite program koji e provjeriti mogu li vrijednosti u int varijablama a, b, c i d biti
stranice pravokutnika. Varijablama dodijelite proizvoljne vrijednosti.
--------------------------------------------------------------------------------------------------------------------
using System;
if (a == b && c == d
||
a == c && b == d
||
a == d && b == c)
Console.WriteLine(
"Vrijednosti mogu biti stranice pravokutnika");
29
Visoka poslovna kola MINERVA
Studij za informatiki menadment
else
Console.WriteLine(
"Vrijednosti ne mogu biti stranice pravokutnika");
}
}
15. Napiite program koji e provjeriti mogu li vrijednosti u int varijablama a, b i c biti stranice
trokuta. Varijablama dodijelite proizvoljne vrijednosti.
Napomena: u svakom trokutu je zbroj duljina dviju stranica vei od duljine tree.
--------------------------------------------------------------------------------------------------------------------
using System;
16. Napiite program koji e zatraiti od korisnika da unese dva stringa, te e ih ispisati po
abecedi u uzlaznom redoslijedu.
--------------------------------------------------------------------------------------------------------------------
using System;
if(s1.CompareTo(s2) > 0)
{
Console.WriteLine(s2);
Console.WriteLine(s1);
}
else
{
Console.WriteLine(s1);
Console.WriteLine(s2);
}
}
}
30
Visoka poslovna kola MINERVA
Studij za informatiki menadment
17. Napiite program koji e zatraiti od korisnika da unese tri stringa, te e provjeriti jesu li
uneeni po abecednom redoslijedu.
--------------------------------------------------------------------------------------------------------------------
using System;
18. Napiite program koji e zatraiti od korisnika da unese tri stringa, te e ih ispisati po abecedi
u uzlaznom redoslijedu.
--------------------------------------------------------------------------------------------------------------------
using System;
if(s1.CompareTo(s2) > 0)
{
string s = s1;
s1 = s2;
s2 = s;
}
if(s1.CompareTo(s3) > 0)
{
string s = s1;
s1 = s3;
s3 = s;
}
if(s2.CompareTo(s3) > 0)
31
Visoka poslovna kola MINERVA
Studij za informatiki menadment
{
string s = s2;
s2 = s3;
s3 = s;
}
Console.WriteLine(s1);
Console.WriteLine(s2);
Console.WriteLine(s3);
}
}
using System;
20. Napiite program koji e izraunati vrijednost PDV-a na osnovu od korisnika uneenih cijena
bez PDV-a i s PDV-om.
--------------------------------------------------------------------------------------------------------------------
using System;
32
Visoka poslovna kola MINERVA
Studij za informatiki menadment
21. Napiite program koji e zatraiti od korisnika da unese datum u formatu DD.MM te e
izraunati i ispisati je li datum ispravan. Pretpostavite da godina za koju se unosi datum nije
prijestupna (npr. 30.04 -> Datum je ispravan).
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
byte d, m;
bool flag = false;
22. Napiite program koji e od korisnika uzeti niz znakova, te ako je broj znakova u nizu
neparan ispiite srednji znak, a ako je paran ispiite srednja dva znaka.
(npr. SPLIT -> L ZAGREB -> GR)
33
Visoka poslovna kola MINERVA
Studij za informatiki menadment
--------------------------------------------------------------------------------------------------------------------
using System;
int x = s.Length;
if(x % 2 == 1)
Console.WriteLine(s[x/2]);
else
Console.WriteLine("{0}{1}", s[x/2 - 1], s[x/2]);
}
}
23. Napiite program koji e zatraiti od korisnika da unese dvoznamenkasti broj, te e ispisati
veu znamenku uneenog broja. Ako su obje znamenke iste ne treba nita ispisati.
--------------------------------------------------------------------------------------------------------------------
using System;
y = Broj % 10;
Broj /= 10;
x = Broj % 10;
if(x != y)
Console.WriteLine(x > y ? x : y);
}
}
24. Napiite program koji e zatraiti od korisnika da unese troznamenkasti broj, te e ispisati
najveu i najmanju znamenku uneenog broja (npr. 517 -> 1 i 7).
--------------------------------------------------------------------------------------------------------------------
using System;
34
Visoka poslovna kola MINERVA
Studij za informatiki menadment
int x, y, z;
z = Broj % 10;
Broj /= 10;
y = Broj % 10;
Broj /= 10;
x = Broj % 10;
35
Visoka poslovna kola MINERVA
Studij za informatiki menadment
36
Visoka poslovna kola MINERVA
Studij za informatiki menadment
3. Petlje
37
Visoka poslovna kola MINERVA
Studij za informatiki menadment
38
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Zadaci
4. Napiite program koji e zbrojiti prvih n brojeva. Broj n uzmite od korisnika, a rezultat ispiite
u obliku:
Zbroj prvih n brojeva je x.
8. Napiite program koji e zatraiti od korisnika da unese niz znakova, te e provjeriti jesu li svi
znakovi u nizu poredani u uzlaznom redoslijedu (npr. ACEFH -> DA ADFBH -> NE)
9. Napiite program koji e ispisati sve prijestupne godine u razdoblju od (ukljuujui) 1900. do
(ukljuujui) 2100.
Prijestupne godine su one koje su djeljive sa 400 plus one koje su djeljive sa 4, ali ne i sa 100.
11. Napiite program koji e zatraiti od korisnika da upie niz znakova koji mora imati jednu od
dvije vrijednosti CRVENA ili PLAVA. Ako je korisnik upisao CRVENA neka se ispie PLAVA i
obrnuto. Program mora prisiliti korisnika da unese jednu od tih dviju vrijednosti.
12. Napiite program koji e zatraiti od korisnika da unese neki string, te e ispisati podskupove
tog stringa na sljedei nain:
npr. za uneeni string Voda treba ispisati:
V
Vo
Vod
Voda
13. Napiite program koji e zatraiti od korisnika da unese neki string, te e ispisati podskupove
tog stringa na sljedei nain:
npr. za uneeni string Voda treba ispisati:
Voda
Vod
39
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Vo
V
14. Napiite program koji e zatraiti od korisnika da upie rije, te e ispisati podskupove te
rijei na sljedei nain kao npr. za rije KUGLA:
A
LA
GLA
UGLA
KUGLA
15. Napiite program koji e zatraiti od korisnika da unese niz znakova, te e kreirati i ispisati
string koji e sadravati sve znakove iz uneenog niza osim znakova A i a (npr. Afrika -> frik).
16. Napiite program koji e zatraiti od korisnika da unese neku rije, te e je ispisati tako da
ispie najprije samoglasnike iz te rijei, a nakon toga i suglasnike (npr. Zlato -> aoZlt).
17. Napiite program koji e izraunati broj prim brojeva manjih od 100 (prim broj je broj koji
je djeljiv samo s 1 i sa samim sobom)
18. Napiite program koji e zatraiti od korisnika da unese dvije rijei, te e izraunati broj
pojavljivanja druge rijei u prvoj (npr. VODOVOD, VOD -> VOD -> 2 puta).
19. Napiite program koji e za uneeni niz znakova pronai znak koji se pojavljuje najvie puta,
te e i izraunati taj broj (npr. VODOVOD -> O, 3 puta).
20. Napiite program koji e uitavati ocjene sve dok korisnik ne unese 0, te e izraunati
prosjek ocjena. Ako je barem jedna ocjena 1, prosjek ocjena je 1.
21. Napiite program koji e izraunati zbroj svih znamenki broja iju vrijednost sadri varijabla
Broj kojoj dodijelite proizvoljnu vrijednost. (npr. 345 -> 12).
22. Napiite program koji e iz dva uneena niza znakova ispisati samo znakove koji su sadrani
u oba niza. Pojedini znak treba ispisati samo jednom (npr. HRVATSKA i AUSTRIJA -> RATS).
23. Napiite program koji e zatraiti od korisnika da unese stranice trokuta odvojene razmakom,
te e provjeriti je li trokut pravokutan (npr. 6 8 10 -> DA)
24. Napiite program koji e zatraiti od korisnika da unese broj u binarnom obliku, te e
izraunati i ispisati njegovu dekadsku vrijednost (npr. 11001 -> 25).
25. Napiite program koji e zatraiti od korisnika da unese broj u dekadskom obliku, te e
izraunati i ispisati njegovu binarnu vrijednost (npr. 25 -> 11001).
26. Napiite program koji e zatraiti od korisnika da unese dva broja, te e izraunati najvei
broj s kojim su oba broja djeljiva.
27. Napiite program koji e zatraiti od korisnika da unese dva broja, te e izraunati najmanji
broj koji je djeljiv s oba uneena broja.
28. Napiite program koji e zbrojiti prvih n brojeva ne uzimajui u obzir one koji imaju
znamenku 9 na posljednjem mjestu. Broj n uzmite od korisnika.
40
Visoka poslovna kola MINERVA
Studij za informatiki menadment
29. Napiite program koji e zatraiti od korisnika da unese jednu rije, te e je ispisati tako da
izbaci svako ponavljanje pojedinog slova (npr. VODOVOD -> VOD).
30. Napiite program koji e zatraiti od korisnika da unese neki pozitivni broj, te e ispisati sve
brojeve manje od tog broja na sljedei nain: npr. za uneeni broj 5 treba ispisati:
1
12
123
1234
31. Napiite program koji e zatraiti od korisnika da unese neki pozitivni broj, te e izraunati je
li korijen tog broja cijeli broj (npr. 100 -> Da).
32. Napiite program koji e traiti od korisnika da unosi vrijednosti igraih karata (1 13), te e
zavriti s programom kad ukupno uneena vrijednost dosegne 31. Osigurajte da se ne zbrajaju
vrijednosti izvan raspona 1 13.
Na kraju treba ispisati jednu od dvije poruke:
Pobijedili ste (ako je ukupna vrijednost karata 31)
Izgubili ste (ako je ukupna vrijednost karata vea od 31)
33. Napiite program koji e od korisnika uzeti string, te e provjeriti je li rije palindrom.
(npr. ANA -> DA)
35. Napiite program koji e izraunati najvei broj iji faktorijel je manji od 1000000.
Faktorijel od npr. 4 je 1 * 2 * 3 * 4.
36. Napiite program koji e zatraiti od korisnika da unese 10 cijelih brojeva od 1 do 1000, te e
provjeriti je li aritmetika sredina svih uneenih brojeva jednaka aritmetikoj sredini najveeg i
najmanjeg uneenog broja.
Korisnik mora unijeti 10 brojeva u zadanom rasponu, unose brojeva izvan raspona ne smijete
raunati kao jedan od 10 unosa.
37. Napiite program koji e zatraiti od korisnika da unese 2 broja koje spremite u int varijable
x i y, te izraunajte koji broj je vei xy ili yx.
38. Napiite program koji e zatraiti od korisnika da unese cijeli broj, te e provjeriti je li taj broj
faktorijel nekog broja.
39. Napiite program koji e zatraiti od korisnika da unese dvije rijei, te e iz prve izbaciti
svako pojavljivanje druge rijei (npr. VODOVODNA, VOD -> ONA).
40. Napiite program koji e zatraiti od korisnika da unese neki broj s proizvoljnim brojem
znamenaka, te e ispisati najveu i najmanju znamenku uneenog broja (npr. 3682 -> 2 i 8).
41
Visoka poslovna kola MINERVA
Studij za informatiki menadment
41. Napiite program koji e zatraiti od korisnika da upie razlomak u obliku X/Y. Razlomak
treba maksimalno skratiti, te ga ispisati u takvom skraenom obliku (npr. 16/24 -> 2/3).
42. Napiite program koji e provjeriti je li cjelobrojni broj iju vrijednost sadri varijabla
Number djeljiv sa svim svojim znamenkama (npr. 1395 -> DA).
Varijabli Number dodijelite proizvoljnu vrijednost.
44. Napiite program koji e za uneeni niz znakova izraunati broj znakova koji se u nizu
pojavljuju samo jednom (npr. LONDON -> 2).
45. Napiite program koji e zatraiti od korisnika da unese neki broj, te e provjeriti sadri li broj
sve razliite znamenke. (npr. 2734 -> Da 273473 -> Ne).
46. Napiite program koji e zatraiti od korisnika da unese rije te e izraunati koliko rije ima
slova. Napomena: D, LJ i NJ su jedno slovo.
47. Napiite program koji e od prvih 100 brojeva ispisati sve parove razliitih brojeva koji
zadovoljavaju sljedei uvjet:
Zbroj svih brojeva s kojim je djeljiv prvi broj jednak je zbroju svih brojeva s kojim je
djeljiv drugi broj (bez 1 i samog broja). (npr. 12 i 26 jer je 2 + 3 + 4 + 6 = 2 + 13)
48. Napiite program koji e generirati sve razliite kombinacije igre na sreu LOTO 7/39 (jedna
kombinacija sadri sedam razliitih brojeva od 1 do 39).
49. Napiite program koji e izraunati za koliko se prosjeno polja pomakne figura u jednom
bacanju kocke u igri ovjee ne ljuti se (estica znai ponovno bacanje koje pomie figuru, ali
se ne rauna kao novo bacanje kocke !).
42
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Rjeenja
1. Napiite program koji e ispisati prvih 100 brojeva.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
for (int i = 1; i <= 100; i++)
Console.WriteLine(i);
}
}
using System;
class Test
{
public static void Main()
{
for (double d = 0; d < 1; d += 0.01)
Console.WriteLine("{0,0:f}", d);
}
}
using System;
4. Napiite program koji e zbrojiti prvih n brojeva. Broj n uzmite od korisnika, a rezultat ispiite
u obliku:
Zbroj prvih n brojeva je x.
--------------------------------------------------------------------------------------------------------------------
43
Visoka poslovna kola MINERVA
Studij za informatiki menadment
using System;
class Test
{
public static void Main()
{
int sum = 0;
Console.WriteLine("Upiite broj:");
string s = Console.ReadLine();
int n = Convert.ToInt32(s);
using System;
class Test
{
public static void Main()
{
int x = 1;
long sum = 0;
Console.WriteLine(sum);
}
}
using System;
class Test
{
public static void Main()
{
long fakt = 1;
Console.WriteLine("Upiite broj:");
string s = Console.ReadLine();
int n = Convert.ToInt32(s);
44
Visoka poslovna kola MINERVA
Studij za informatiki menadment
using System;
class Test
{
public static void Main()
{
double d = 1.0 / 3, sum = 0 ;
for(int i = 0; i < 100000; i++)
{
sum += d;
d /= 3;
}
Console.WriteLine(sum);
}
}
8. Napiite program koji e zatraiti od korisnika da unese niz znakova, te e provjeriti jesu li svi
znakovi u nizu poredani u uzlaznom redoslijedu (npr. ACEFH -> DA ADFBH -> NE)
--------------------------------------------------------------------------------------------------------------------
using System;
9. Napiite program koji e ispisati sve prijestupne godine u razdoblju od (ukljuujui) 1900. do
(ukljuujui) 2100.
Prijestupne godine su one koje su djeljive sa 400 plus one koje su djeljive sa 4, ali ne i sa 100.
--------------------------------------------------------------------------------------------------------------------
using System;
45
Visoka poslovna kola MINERVA
Studij za informatiki menadment
using System;
do
{
Console.WriteLine("Upiite vrijednost temperature u
Kelvinima:");
s = Console.ReadLine();
kelvin = Convert.ToDouble(s);
} while(kelvin < 0);
11. Napiite program koji e zatraiti od korisnika da upie niz znakova koji mora imati jednu od
dvije vrijednosti CRVENA ili PLAVA. Ako je korisnik upisao CRVENA neka se ispie PLAVA i
obrnuto. Program mora prisiliti korisnika da unese jednu od tih dviju vrijednosti.
--------------------------------------------------------------------------------------------------------------------
using System;
do
{
Console.WriteLine("Upiite niz znakova CRVENA ili PLAVA:");
46
Visoka poslovna kola MINERVA
Studij za informatiki menadment
s = Console.ReadLine();
} while (s != "CRVENA" && s != "PLAVA");
12. Napiite program koji e zatraiti od korisnika da unese neki string, te e ispisati podskupove
tog stringa na sljedei nain:
npr. za uneeni string Voda treba ispisati:
V
Vo
Vod
Voda
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Upiite string:");
string s = Console.ReadLine();
for(int i = 0; i < s.Length; i++)
Console.WriteLine(s.Substring(0, i + 1));
}
}
13. Napiite program koji e zatraiti od korisnika da unese neki string, te e ispisati podskupove
tog stringa na sljedei nain:
npr. za uneeni string Voda treba ispisati:
Voda
Vod
Vo
V
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Upiite string:");
string s = Console.ReadLine();
for(int i = 0; i < s.Length; i++)
Console.WriteLine(s.Substring(0, s.Length - i));
}
}
14. Napiite program koji e zatraiti od korisnika da upie rije, te e ispisati podskupove te
rijei na sljedei nain kao npr. za rije KUGLA:
A
LA
47
Visoka poslovna kola MINERVA
Studij za informatiki menadment
GLA
UGLA
KUGLA
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Upiite rije:");
string s = Console.ReadLine();
15. Napiite program koji e zatraiti od korisnika da unese niz znakova, te e kreirati i ispisati
string koji e sadravati sve znakove iz uneenog niza osim znakova A i a (npr. Afrika -> frik).
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Upiite niz znakova:");
string s = Console.ReadLine();
string s1 = "";
Console.WriteLine(s1);
}
}
16. Napiite program koji e zatraiti od korisnika da unese neku rije, te e je ispisati tako da
ispie najprije samoglasnike iz te rijei, a nakon toga i suglasnike (npr. Zlato -> aoZlt).
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Upiite rije:");
48
Visoka poslovna kola MINERVA
Studij za informatiki menadment
string s = Console.ReadLine();
string s1 = "";
Console.WriteLine(s1);
}
}
17. Napiite program koji e izraunati broj prim brojeva manjih od 100 (prim broj je broj koji
je djeljiv samo s 1 i sa samim sobom)
--------------------------------------------------------------------------------------------------------------------
using System;
if(FlagPrim)
BrojPrimova++;
FlagPrim = true;
}
Console.WriteLine(BrojPrimova);
}
}
18. Napiite program koji e zatraiti od korisnika da unese dvije rijei, te e izraunati broj
pojavljivanja druge rijei u prvoj (npr. VODOVOD, VOD -> VOD -> 2 puta).
--------------------------------------------------------------------------------------------------------------------
49
Visoka poslovna kola MINERVA
Studij za informatiki menadment
using System;
19. Napiite program koji e za uneeni niz znakova pronai znak koji se pojavljuje najvie puta,
te e i izraunati taj broj (npr. VODOVOD -> O, 3 puta).
--------------------------------------------------------------------------------------------------------------------
using System;
Console.WriteLine("Unesite rije:");
string s = Console.ReadLine();
50
Visoka poslovna kola MINERVA
Studij za informatiki menadment
20. Napiite program koji e uitavati ocjene sve dok korisnik ne unese 0, te e izraunati
prosjek ocjena. Ako je barem jedna ocjena 1, prosjek ocjena je 1.
--------------------------------------------------------------------------------------------------------------------
using System;
do
{
Console.WriteLine("Unesite ocjenu:");
s = Console.ReadLine();
i = Convert.ToInt32(s);
21. Napiite program koji e izraunati zbroj svih znamenki broja iju vrijednost sadri varijabla
Broj kojoj dodijelite proizvoljnu vrijednost. (npr. 345 -> 12).
--------------------------------------------------------------------------------------------------------------------
using System;
while (Broj != 0)
{
x += Broj % 10;
Broj /= 10;
}
51
Visoka poslovna kola MINERVA
Studij za informatiki menadment
22. Napiite program koji e iz dva uneena niza znakova ispisati samo znakove koji su sadrani
u oba niza. Pojedini znak treba ispisati samo jednom (npr. HRVATSKA i AUSTRIJA -> RATS).
--------------------------------------------------------------------------------------------------------------------
using System;
Console.WriteLine(s3);
}
}
23. Napiite program koji e zatraiti od korisnika da unese stranice trokuta odvojene razmakom,
te e provjeriti je li trokut pravokutan (npr. 6 8 10 -> DA)
--------------------------------------------------------------------------------------------------------------------
using System;
int x = 0;
while (s[x++] != ' ')
s1 += s[x - 1];
a = Convert.ToInt32(s1);
s1 = "";
while (s[x++] != ' ')
s1 += s[x - 1];
b = Convert.ToInt32(s1);
c = Convert.ToInt32(s.Substring(x - 1));
52
Visoka poslovna kola MINERVA
Studij za informatiki menadment
if (a * a + b * b == c * c ||
a * a + c * c == b * b ||
b * b + c * c == a * a)
Console.WriteLine("Trokut je pravokutan");
else
Console.WriteLine("Trokut nije pravokutan");
}
}
24. Napiite program koji e zatraiti od korisnika da unese broj u binarnom obliku, te e
izraunati i ispisati njegovu dekadsku vrijednost (npr. 11001 -> 25).
--------------------------------------------------------------------------------------------------------------------
using System;
25. Napiite program koji e zatraiti od korisnika da unese broj u dekadskom obliku, te e
izraunati i ispisati njegovu binarnu vrijednost (npr. 25 -> 11001).
--------------------------------------------------------------------------------------------------------------------
using System;
53
Visoka poslovna kola MINERVA
Studij za informatiki menadment
26. Napiite program koji e zatraiti od korisnika da unese dva broja, te e izraunati najvei
broj s kojim su oba broja djeljiva.
--------------------------------------------------------------------------------------------------------------------
using System;
z = x < y ? x : y;
Console.WriteLine(max);
}
}
27. Napiite program koji e zatraiti od korisnika da unese dva broja, te e izraunati najmanji
broj koji je djeljiv s oba uneena broja.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int x, y, z, min = 1;
Console.WriteLine("Upiite prvi broj:");
string s = Console.ReadLine();
x = Convert.ToInt32(s);
Console.WriteLine("Upiite drugi broj:");
s = Console.ReadLine();
y = Convert.ToInt32(s);
z = x > y ? x : y;
for(int i = z; ; i++)
if(i % x == 0 && i % y == 0)
{
min = i;
break;
54
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Console.WriteLine(min);
}
}
28. Napiite program koji e zbrojiti prvih n brojeva ne uzimajui u obzir one koji imaju
znamenku 9 na posljednjem mjestu. Broj n uzmite od korisnika.
--------------------------------------------------------------------------------------------------------------------
using System;
int zbroj = 0;
for(int i = 1; i <= n; i++)
if(i % 10 != 9)
zbroj += i;
Console.WriteLine(zbroj);
}
}
29. Napiite program koji e zatraiti od korisnika da unese jednu rije, te e je ispisati tako da
izbaci svako ponavljanje pojedinog slova (npr. VODOVOD -> VOD).
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Upiite rije:");
string s = Console.ReadLine();
string s1 = "";
bool flag;
if(!flag)
s1 += s[i];
55
Visoka poslovna kola MINERVA
Studij za informatiki menadment
}
Console.WriteLine(s1);
}
}
30. Napiite program koji e zatraiti od korisnika da unese neki pozitivni broj, te e ispisati sve
brojeve manje od tog broja na sljedei nain: npr. za uneeni broj 5 treba ispisati:
1
12
123
1234
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Upiite neki pozitivni broj:");
string s = Console.ReadLine();
int x = Convert.ToInt32(s);
31. Napiite program koji e zatraiti od korisnika da unese neki pozitivni broj, te e izraunati je
li korijen tog broja cijeli broj (npr. 100 -> Da).
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Upiite neki pozitivni broj:");
string s = Console.ReadLine();
int x = Convert.ToInt32(s);
56
Visoka poslovna kola MINERVA
Studij za informatiki menadment
}
}
32. Napiite program koji e traiti od korisnika da unosi vrijednosti igraih karata (1 13), te e
zavriti s programom kad ukupno uneena vrijednost dosegne 31. Osigurajte da se ne zbrajaju
vrijednosti izvan raspona 1 13.
Na kraju treba ispisati jednu od dvije poruke:
Pobijedili ste (ako je ukupna vrijednost karata 31)
Izgubili ste (ako je ukupna vrijednost karata vea od 31)
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int x, sum = 0;
string s;
do
{
Console.WriteLine("Unesite vrijednost igrae karte:");
s = Console.ReadLine();
x = Convert.ToInt32(s);
if (x >= 1 && x <= 13)
sum += x;
} while(sum < 31);
Console.WriteLine("{0}",
sum == 31 ? "Pobijedili ste" : "Izgubili ste");
}
}
33. Napiite program koji e od korisnika uzeti string, te e provjeriti je li rije palindrom.
(npr. ANA -> DA)
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Unesite string:");
string s = Console.ReadLine();
string s1 = "";
for(int i = s.Length - 1; i >= 0; i--)
s1 += s[i];
57
Visoka poslovna kola MINERVA
Studij za informatiki menadment
using System;
class Test
{
public static void Main()
{
int n;
Console.WriteLine("Upiite neki broj:");
string s = Console.ReadLine();
n = Convert.ToInt32(s);
long x1 = 0, x2 = 1, fib;
if(n == 1)
fib = 0;
else if(n == 2)
fib = 1;
else
{
for(int i = 0; i < n; i++)
{
long y = x1 + x2;
x1 = x2;
x2 = y;
}
fib = x1;
}
Console.WriteLine(
"{0}. lan Fibonnacijevog niza je {1}", n, fib);
}
}
35. Napiite program koji e izraunati najvei broj iji faktorijel je manji od 1000000.
Faktorijel od npr. 4 je 1 * 2 * 3 * 4.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int i = 1;
long Faktorijel = 1;
for (; ;)
{
if (Faktorijel > 1000000)
58
Visoka poslovna kola MINERVA
Studij za informatiki menadment
{
Faktorijel /= (i - 1);
break;
}
Faktorijel *= i++;
}
Console.WriteLine("{0}! = {1}", i - 2, Faktorijel);
}
}
36. Napiite program koji e zatraiti od korisnika da unese 10 cijelih brojeva od 1 do 1000, te e
provjeriti je li aritmetika sredina svih uneenih brojeva jednaka aritmetikoj sredini najveeg i
najmanjeg uneenog broja.
Korisnik mora unijeti 10 brojeva u zadanom rasponu, unose brojeva izvan raspona ne smijete
raunati kao jedan od 10 unosa.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int min = 1000, max = 0, zbroj = 0;
zbroj += x;
}
}
}
37. Napiite program koji e zatraiti od korisnika da unese 2 broja koje spremite u int varijable
x i y, te izraunajte koji broj je vei xy ili yx.
--------------------------------------------------------------------------------------------------------------------
59
Visoka poslovna kola MINERVA
Studij za informatiki menadment
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Upiite prvi broj:");
string s = Console.ReadLine();
int x = Convert.ToInt32(s);
Console.WriteLine("Upiite drugi broj:");
s = Console.ReadLine();
int y = Convert.ToInt32(s);
int broj1 = 1;
for (int i = 0; i < y; i++)
broj1 *= x;
int broj2 = 1;
for(int i = 0; i < x; i++)
broj2 *= y;
38. Napiite program koji e zatraiti od korisnika da unese cijeli broj, te e provjeriti je li taj broj
faktorijel nekog broja.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Upiite cijeli broj:");
string s = Console.ReadLine();
int x = Convert.ToInt32(s);
long fakt = 1;
for(int i = 1; ; i++)
{
fakt *= i;
if (fakt == x)
{
Console.WriteLine("{0} je faktorijel broja {1}", x, i);
break;
}
else if(fakt > x)
{
Console.WriteLine(
60
Visoka poslovna kola MINERVA
Studij za informatiki menadment
39. Napiite program koji e zatraiti od korisnika da unese dvije rijei, te e iz prve izbaciti
svako pojavljivanje druge rijei (npr. VODOVODNA, VOD -> ONA).
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int x;
Console.WriteLine(s1);
}
}
40. Napiite program koji e zatraiti od korisnika da unese neki broj s proizvoljnim brojem
znamenaka, te e ispisati najveu i najmanju znamenku uneenog broja (npr. 3682 -> 2 i 8).
--------------------------------------------------------------------------------------------------------------------
using System;
61
Visoka poslovna kola MINERVA
Studij za informatiki menadment
41. Napiite program koji e zatraiti od korisnika da upie razlomak u obliku X/Y. Razlomak
treba maksimalno skratiti, te ga ispisati u takvom skraenom obliku (npr. 16/24 -> 2/3).
--------------------------------------------------------------------------------------------------------------------
using System;
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Upiite razlomak u obliku X/Y");
string s = Console.ReadLine();
int pos = s.IndexOf('/');
int brojnik = Convert.ToInt32(s.Substring(0, pos));
int nazivnik = Convert.ToInt32(s.Substring(pos + 1));
if(nazivnik == 1)
Console.WriteLine(brojnik);
else
Console.WriteLine("{0}/{1}", brojnik, nazivnik);
}
}
42. Napiite program koji e provjeriti je li cjelobrojni broj iju vrijednost sadri varijabla
Number djeljiv sa svim svojim znamenkama (npr. 1395 -> DA).
Varijabli Number dodijelite proizvoljnu vrijednost.
--------------------------------------------------------------------------------------------------------------------
using System;
62
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Number /= 10;
}
using System;
44. Napiite program koji e za uneeni niz znakova izraunati broj znakova koji se u nizu
pojavljuju samo jednom (npr. LONDON -> 2).
--------------------------------------------------------------------------------------------------------------------
using System;
Console.WriteLine("Unesite rije:");
63
Visoka poslovna kola MINERVA
Studij za informatiki menadment
string s = Console.ReadLine();
45. Napiite program koji e zatraiti od korisnika da unese neki broj, te e provjeriti sadri li broj
sve razliite znamenke. (npr. 2734 -> Da 273473 -> Ne).
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
bool flag = true;
Console.WriteLine("Upii broj:");
string s = Console.ReadLine();
for (int i = 0; i < s.Length - 1 && flag; i++)
for (int j = i + 1; j < s.Length; j++)
if (s[i] == s[j])
{
flag = false;
break;
}
Console.WriteLine(flag ? "Da" : "Ne");
}
}
46. Napiite program koji e zatraiti od korisnika da unese rije te e izraunati koliko rije ima
slova. Napomena: D, LJ i NJ su jedno slovo.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Upii neku rije");
string s = Console.ReadLine().ToUpper();
int n = 0;
64
Visoka poslovna kola MINERVA
Studij za informatiki menadment
47. Napiite program koji e od prvih 100 brojeva ispisati sve parove razliitih brojeva koji
zadovoljavaju sljedei uvjet:
Zbroj svih brojeva s kojim je djeljiv prvi broj jednak je zbroju svih brojeva s kojim je
djeljiv drugi broj (bez 1 i samog broja). (npr. 12 i 26 jer je 2 + 3 + 4 + 6 = 2 + 13)
--------------------------------------------------------------------------------------------------------------------
using System;
48. Napiite program koji e generirati sve razliite kombinacije igre na sreu LOTO 7/39 (jedna
kombinacija sadri sedam razliitih brojeva od 1 do 39).
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int MAX = 39;
65
Visoka poslovna kola MINERVA
Studij za informatiki menadment
49. Napiite program koji e izraunati za koliko se prosjeno polja pomakne figura u jednom
bacanju kocke u igri ovjee ne ljuti se (estica znai ponovno bacanje koje pomie figuru, ali
se ne rauna kao novo bacanje kocke !).
--------------------------------------------------------------------------------------------------------------------
using System;
using System.Threading;
class Test
{
public static void Main()
{
int sum = 0, y;
int MAX = 1000000; // 1000000 je dovoljno velik broj
Random x = new Random(); // za ovaj izraun
sum += y;
}
Console.WriteLine("{0,0:f}", (double)sum / MAX);
}
}
66
Visoka poslovna kola MINERVA
Studij za informatiki menadment
4. Nizovi
67
Visoka poslovna kola MINERVA
Studij za informatiki menadment
68
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Zadaci
1. Napiite program koji e deklarirati niz tipa int, te e ga definirati s kvadratima prvih 10
brojeva. lanove niza na kraju ispiite.
2. Napiite program koji e definirati niz tipa string, te e definirati i drugi niz tipa int u kojem
e lanovi biti duine stringova iz prvog niza. Program mora raditi ispravno za proizvoljni broj
lanova niza.
3. Napiite program koji e deklarirati niz tipa int veliine 100, te e ga definirati vrijednostima
prvih 100 brojeva. Definirajte i ispiite niz tipa double u kojem e biti polovice vrijednosti iz
prvog niza.
4. Napiite program koji e definirati 2 niza tipa double, te e definirati i trei niz tipa double u
kojem e lanovi biti svi lanovi iz prva dva niza. Program mora raditi ispravno za proizvoljni broj
lanova niza.
5. Napiite program koji e definirati niz koji e sadravati n prvih dvoznamenkastih brojeva.
Broj n uzmite od korisnika, a prisilite ga da ne unese broj vei od maksimalnog broja
dvoznamenkastih brojeva.
6. Napiite program koji e za definirani niz tipa int provjeriti nalaze li se u nizu barem dva ista
lana. Program mora raditi ispravno za proizvoljni broj lanova niza.
7. Napiite program koji e za dva definirana niza tipa int provjeriti sadre li barem jedan
zajedniki lan. Program mora raditi ispravno za proizvoljni broj lanova niza.
8. Napiite program koji e definirati 2 niza tipa int, te e definirati i trei niz tipa int koji e
sadravati samo zajednike lanove iz oba niza. Program mora raditi ispravno za proizvoljni broj
lanova niza. lanove niza na kraju ispiite.
9. Napiite program koji e definirati 2 niza tipa int, te e definirati i trei niz tipa int koji e
sadravati samo lanove koji se nalaze u prvom, ali ne i u drugom nizu. Program mora raditi
ispravno za proizvoljni broj lanova niza. lanove niza na kraju ispiite.
10. Napiite program u kojem ete deklarirati dvodimenzionalni niz tipa int s 11 redova i 11
stupaca. lanove niza definirajte kao umnoak indeksa retka i indeksa stupca. Provjerite da tako
definirani niz predstavlja tablicu mnoenja tako da ispiete vrijednost lana arr[7,5].
11. Napiite program u kojem ete definirati matricu m x n gdje su m i n uneeni od korisnika,
te definirajte matricu sa sluajnim brojevima od 0 do 100 i ispiite lanove matrice.
12. Napiite program koji e deklarirati dva niza tipa int veliine 10 lanova, te e zatraiti od
korisnika da unosi brojeve. Ako korisnik unese neparni broj spremite ga u prvi niz, a ako unese
parni spremite ga u drugi niz. Program treba prestati s radom ako korisnik unese 0 ili kad ukupan
broj lanova dodijeljenih pojedinom nizu premai 10.
Na kraju ispiite sve lanove nizova.
13. Napiite program koji e za definirani niz tipa double pronai lan koji najmanje odstupa od
prosjene vrijednosti niza. Program mora raditi ispravno za proizvoljni broj lanova niza.
69
Visoka poslovna kola MINERVA
Studij za informatiki menadment
14. Napiite program koji e definirati 2 niza tipa int, te e izraunati broj lanova koji se nalaze
na istom indeksu i imaju istu vrijednost. Program mora raditi ispravno za proizvoljni broj lanova
niza.
15. Napiite program koji e definirati niz tipa int, te e ga predefinirati, odnosno sortirati tako
da lanovi budu poredani od manjeg prema veem. Program mora raditi ispravno za proizvoljni
broj lanova niza. lanove niza na kraju ispiite.
16. Napiite program koji e definirati niz tipa int s proizvoljnim lanovima, te zatraite od
korisnika da unese indeks nekog od lanova niza. Ako je indeks unutar veliine niza ispiite
vrijednost lana na mjestu uneenog indeksa, a ako je izvan granica uhvatite iznimku
IndexOutOfRangeException.
17. Napiite program koji e definirati niz tipa byte u kojem e biti prvih 10 brojeva, te zatraite
od korisnika da unese vrijednost koju ete dodijeliti estom lanu niza. Ako se uneeni broj ne
moe pretvoriti u tip byte uhvatite iznimku OverflowException.
18. Napiite program koji e zatraiti od korisnika da unese 5 igraih karata, te e napisati
sainjavaju li tih 5 karata kombinaciju poker (4 iste karte).
19. Napiite program koji e generirati raspored igranja 32 tenisaa (esneastina finala). Na
turniru nema nositelja i svatko moe igrati protiv svakog.
20. Napiite program koji e generirati raspored igranja 16 tenisaa (osmina finala). Na turniru
ima 8 nositelja i oni ne mogu meusobno igrati.
70
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Rjeenja
1. Napiite program koji e deklarirati niz tipa int, te e ga definirati s kvadratima prvih 10
brojeva. lanove niza na kraju ispiite.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int[] arr = new int[10];
2. Napiite program koji e definirati niz tipa string, te e definirati i drugi niz tipa int u kojem
e lanovi biti duine stringova iz prvog niza. Program mora raditi ispravno za proizvoljni broj
lanova niza.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
string[] arr1 = {"Jedan", "Dva", "Tri", "etiri", "Pet"};
int[] arr2 = new int[arr1.Length];
3. Napiite program koji e deklarirati niz tipa int veliine 100, te e ga definirati vrijednostima
prvih 100 brojeva. Definirajte i ispiite niz tipa double u kojem e biti polovice vrijednosti iz
prvog niza.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
const int MAX = 100;
int[] arr1 = new int[MAX];
double[] arr2 = new double[MAX];
71
Visoka poslovna kola MINERVA
Studij za informatiki menadment
4. Napiite program koji e definirati 2 niza tipa double, te e definirati i trei niz tipa double u
kojem e lanovi biti svi lanovi iz prva dva niza. Program mora raditi ispravno za proizvoljni broj
lanova niza.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
double[] arr1 = { 1.1, 2.2, 3.3, 4.4, 5.5 };
double[] arr2 = { 6.6, 7.7, 8.8, 9.9, 10.10 };
double[] arr3 = new double[arr1.Length + arr2.Length];
int x = 0;
for(int i = 0; i < arr1.Length; i++)
arr3[x++] = arr1[i];
for(int i = 0; i < arr2.Length; i++)
arr3[x++] = arr2[i];
}
}
5. Napiite program koji e definirati niz koji e sadravati n prvih dvoznamenkastih brojeva.
Broj n uzmite od korisnika, a prisilite ga da ne unese broj vei od maksimalnog broja
dvoznamenkastih brojeva.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int n;
string s;
do
{
Console.WriteLine("Upiite broj lanova niza:");
s = Console.ReadLine();
n = Convert.ToInt32(s);
} while(n <= 0 || n > 90);
72
Visoka poslovna kola MINERVA
Studij za informatiki menadment
6. Napiite program koji e za definirani niz tipa int provjeriti nalaze li se u nizu barem dva ista
lana. Program mora raditi ispravno za proizvoljni broj lanova niza.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int[] arr = { 1, 2, 3, 4, 5, 6, 7 };
bool flag = false;
7. Napiite program koji e za dva definirana niza tipa int provjeriti sadre li barem jedan
zajedniki lan. Program mora raditi ispravno za proizvoljni broj lanova niza.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int[] arr1 = { 1, 2, 3, 4, 5 };
int[] arr2 = { 5, 6, 7, 8, 9 };
73
Visoka poslovna kola MINERVA
Studij za informatiki menadment
8. Napiite program koji e definirati 2 niza tipa int, te e definirati i trei niz tipa int koji e
sadravati samo zajednike lanove iz oba niza. Program mora raditi ispravno za proizvoljni broj
lanova niza. lanove niza na kraju ispiite.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int[] arr1 = { 1, 2, 3, 4, 5 };
int[] arr2 = { 3, 5, 7, 9 };
int[] arr3 = new int[arr1.Length];
int x = 0;
bool flag;
9. Napiite program koji e definirati 2 niza tipa int, te e definirati i trei niz tipa int koji e
sadravati samo lanove koji se nalaze u prvom, ali ne i u drugom nizu. Program mora raditi
ispravno za proizvoljni broj lanova niza. lanove niza na kraju ispiite.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int[] arr1 = { 1, 2, 3, 4, 5 };
int[] arr2 = { 3, 5, 7, 9 };
int[] arr3 = new int[arr1.Length];
74
Visoka poslovna kola MINERVA
Studij za informatiki menadment
int x = 0;
bool flag;
10. Napiite program u kojem ete deklarirati dvodimenzionalni niz tipa int s 11 redova i 11
stupaca. lanove niza definirajte kao umnoak indeksa retka i indeksa stupca. Provjerite da tako
definirani niz predstavlja tablicu mnoenja tako da ispiete vrijednost lana arr[7,5].
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int[,] arr = new int[11, 11];
Console.WriteLine(arr[7, 5]);
}
}
11. Napiite program u kojem ete definirati matricu m x n gdje su m i n uneeni od korisnika,
te definirajte matricu sa sluajnim brojevima od 0 do 100 i ispiite lanove matrice.
--------------------------------------------------------------------------------------------------------------------
using System;
using System.Threading;
class Test
{
public static void Main()
{
Console.WriteLine("Upiite broj redaka");
string s = Console.ReadLine();
75
Visoka poslovna kola MINERVA
Studij za informatiki menadment
int m = Convert.ToInt32(s);
12. Napiite program koji e deklarirati dva niza tipa int veliine 10 lanova, te e zatraiti od
korisnika da unosi brojeve. Ako korisnik unese neparni broj spremite ga u prvi niz, a ako unese
parni spremite ga u drugi niz. Program treba prestati s radom ako korisnik unese 0 ili kad ukupan
broj lanova dodijeljenih pojedinom nizu premai 10.
Na kraju ispiite sve lanove nizova.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int[] arr1 = new int[10];
int[] arr2 = new int[10];
string s;
int x, n1 = 0, n2 = 0;
do
{
Console.WriteLine("Upiite broj:");
s = Console.ReadLine();
x = Convert.ToInt32(s);
if (x % 2 != 0)
arr1[n1++] = x;
else
arr2[n2++] = x;
} while(x != 0 && n1 < 10 && n2 < 10);
Console.WriteLine();
for(int i = 0; i < n1; i++)
Console.WriteLine(arr1[i]);
Console.WriteLine();
for(int i = 0; i < n2; i++)
76
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Console.WriteLine(arr2[i]);
}
}
13. Napiite program koji e za definirani niz tipa double pronai lan koji najmanje odstupa od
prosjene vrijednosti niza. Program mora raditi ispravno za proizvoljni broj lanova niza.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
double[] arr = { 1.5, 2.3, 3.6, 4.8, 5.2, 6.9, 7.4 };
double sum = 0;
int ind = 0;
double min = sum; // Bitno je da min bude vei od oekivanog
for(int i = 0; i < arr.Length; i++)
if(Math.Abs(arr[i] - prosjek) < min)
{
min = Math.Abs(arr[i] - prosjek);
ind = i;
}
Console.WriteLine(arr[ind]);
}
}
14. Napiite program koji e definirati 2 niza tipa int, te e izraunati broj lanova koji se nalaze
na istom indeksu i imaju istu vrijednost. Program mora raditi ispravno za proizvoljni broj lanova
niza.
--------------------------------------------------------------------------------------------------------------------
using System;
int x, count = 0;
if(arr1.Length < arr2.Length)
x = arr1.Length;
else
x = arr2.Length;
77
Visoka poslovna kola MINERVA
Studij za informatiki menadment
count++;
15. Napiite program koji e definirati niz tipa int, te e ga predefinirati, odnosno sortirati tako
da lanovi budu poredani od manjeg prema veem. Program mora raditi ispravno za proizvoljni
broj lanova niza. lanove niza na kraju ispiite.
--------------------------------------------------------------------------------------------------------------------
using System;
for(int i = 0;i<arr.Length;i++)
Console.WriteLine(arr[i]);
}
}
16. Napiite program koji e definirati niz tipa int s proizvoljnim lanovima, te zatraite od
korisnika da unese indeks nekog od lanova niza. Ako je indeks unutar veliine niza ispiite
vrijednost lana na mjestu uneenog indeksa, a ako je izvan granica uhvatite iznimku
IndexOutOfRangeException.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
Console.WriteLine("Upiite indeks lana niza:");
string s = Console.ReadLine();
int x = Convert.ToInt32(s);
try
{
Console.WriteLine(arr[x]);
}
catch(IndexOutOfRangeException)
{
78
Visoka poslovna kola MINERVA
Studij za informatiki menadment
17. Napiite program koji e definirati niz tipa byte u kojem e biti prvih 10 brojeva, te zatraite
od korisnika da unese vrijednost koju ete dodijeliti estom lanu niza. Ako se uneeni broj ne
moe pretvoriti u tip byte uhvatite iznimku OverflowException.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
byte[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
Console.WriteLine("Upiite vrijednost:");
string s = Console.ReadLine();
try
{
byte x = Convert.ToByte(s);
arr[5] = x;
}
catch(OverflowException)
{
Console.WriteLine("Broj se ne moe dodijeliti nizu.");
}
}
}
18. Napiite program koji e zatraiti od korisnika da unese 5 igraih karata, te e napisati
sainjavaju li tih 5 karata kombinaciju poker (4 iste karte).
--------------------------------------------------------------------------------------------------------------------
using System;
79
Visoka poslovna kola MINERVA
Studij za informatiki menadment
||
arr[0] == arr[2] && arr[2] == arr[3] && arr[3] == arr[4]
||
arr[1] == arr[2] && arr[2] == arr[3] && arr[3] == arr[4])
Console.WriteLine("Poker");
else
Console.WriteLine("Nije poker");
}
}
19. Napiite program koji e generirati raspored igranja 32 tenisaa (esneastina finala). Na
turniru nema nositelja i svatko moe igrati protiv svakog.
--------------------------------------------------------------------------------------------------------------------
using System;
using System.Threading;
class Test
{
public static void Main()
{
int n = 0, Broj = 32;
int [] arr = new int[Broj];
Random x = new Random();
do
{
int y = x.Next(Broj) + 1;
bool flag = false;
} while (n != Broj);
20. Napiite program koji e generirati raspored igranja 16 tenisaa (osmina finala). Na turniru
ima 8 nositelja i oni ne mogu meusobno igrati.
--------------------------------------------------------------------------------------------------------------------
using System;
using System.Threading;
class Test
80
Visoka poslovna kola MINERVA
Studij za informatiki menadment
{
public static void Main()
{
int n = 0, Broj = 16;
int[] arr = new int[Broj];
Random x = new Random();
do
{
int y = x.Next(Broj) + 1;
bool flag = false;
81
Visoka poslovna kola MINERVA
Studij za informatiki menadment
82
Visoka poslovna kola MINERVA
Studij za informatiki menadment
83
Visoka poslovna kola MINERVA
Studij za informatiki menadment
84
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Zadaci
Definirajte sljedea tri objekta tipa Fruit: x, y i z koji e predstavljati sljedee voe:
Jagoda
Limun
Avokado
85
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Definirajte objekt Tower tipa Neboder s visinom od 200 m, postavite vrijednost broja katova na
100, poveajte visinu za 10 m, poveajte broj katova za 1, te ispiite kolika je prosjena visina
kata.
Definirajte tri objekta tipa PrvaKlasa: x, y i z, te nakon toga ispiite vrijednost statike varijable
counter.
9. Definirajte klasu Biljka, te definirajte od nje izvedenu klasu Stablo sa sljedeim lanicama:
varijabla tipa bool
opadajuListovi
svojstvo
OpadajuListovi
86
Visoka poslovna kola MINERVA
Studij za informatiki menadment
konstruktor
Stablo(bool) koji e dodijeliti vrijednost proslijeenog argumenta varijabli
opadajuListovi
Definirajte dva objekta Hrast i Bor tipova Bijelogoricno i Crnogoricno, te ispiite vrijednosti
njihovih lanica opadajuListovi.
Definirajte dva objekta tipa Trokut i Cetverokut, uitajte duljine stranica, te izraunajte
opsege.
Definirajte dva objekta tipa Brod i Zrakoplov, te ispiite vrijednosti varijabli JeLiLeti i
JeLiPlovi.
Definirajte klase Cijeli i Decimalni izvedene iz klase Brojevi, te klase Pozitivni i Negativni
izvedene iz klase Cijeli. U svakoj od izvedenih klasa predefinirajte metodu ApsVrijednost tako
da vraa apsolutnu vrijednost varijable broj.
87
Visoka poslovna kola MINERVA
Studij za informatiki menadment
88
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Definirajte klasu Gepard izvedenu iz klase Cat, te predefinirajte metodu Opasnost tako da
postavi vrijednost varijable opasna na true.
Definirajte objekt x tipa KlasaX, te koristei indekse dodijelite nizu arr prvih 100 brojeva i
ispiite 50. lan niza.
Definirajte objekt y tipa KlasaY, te koristei indekse dodijelite nizu arr 5 proizvoljnih stringova te
ispiite etvrti lan niza.
89
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Definirajte objekt tipa KlasaB, zatraite od korisnika da unese niz znakova, te taj niz znakova
proslijedite metodi BezPrvogIZadnjeg, a povratnu vrijednost ispiite. Osigurajte pritom da se
metoda pozove samo ako je korisnik unio vie od 2 znaka.
Definirajte objekt tipa KlasaC, zatraite od korisnika da unese 5 cijelih brojeva koje spremite u
niz tipa int veliine 5 lanova. Taj niz proslijedite metodama Zbroj i Prosjek koje ete pozvati
za definirani objekt, te povratne vrijednosti spremite u lokalne varijable zbroj i prosjek.
Definirajte objekt tipa KlasaD, te pozovite metode Suprotno za argumente true i 50. Povratne
vrijednosti iz metoda spremite u lokalne varijable, te na kraju ispiite njihove vrijednosti.
Definirajte objekt tipa KlasaE, deklarirajte i definirajte s proizvoljnom vrijednosti lokalnu varijablu
tipa int, proslijedite je metodi Plus100, te na kraju ispiite vrijednost te lokalne varijable.
Definirajte objekt tipa KlasaF, deklarirajte lokalnu varijablu tipa double, proslijedite je metodi
f200, te na kraju ispiite vrijednost te lokalne varijable.
90
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Definirajte objekt tipa Sort, deklarirajte i definirajte niz arr tipa int s proizvoljnim vrijednostima
elemenata, te uz pomoe metode QuickSort sortirajte niz tako da prvi i zadnji lan niza bez
obzira na njihovu vrijednost ostanu na svojim mjestima.
Ispiite sve elemente niza.
Deklarirajte i definirajte niz arr tipa int s proizvoljnim vrijednostima elemenata, te uz pomo
metode QuickSort sortirajte niz.
Ispiite sve elemente niza.
Definirajte objekt tipa Sort, deklarirajte i definirajte niz arr tipa string s proizvoljnim
vrijednostima elemenata, te uz pomoe metode QuickSort sortirajte niz.
Ispiite sve elemente niza.
Definirajte objekt tipa Search, deklarirajte i definirajte niz arr tipa int u kojem e biti prvih 100
neparnih brojeva, te uz pomoe metode BinarySearch pronaite indeks lana s vrijednosti 75.
91
Visoka poslovna kola MINERVA
Studij za informatiki menadment
metoda
int BinarySearch(string[] arr, string str) koja e koristei algoritam
binarnog pretraivanja vratiti indeks stringa str u nizu arr, a ako ga ne pronae vratit e -1.
Definirajte objekt tipa Search, deklarirajte i definirajte niz arr tipa string veliine 5 lanova s
proizvoljnim vrijednostima, te uz pomoe metode BinarySearch pronaite indeks treeg lana
niza.
Deklarirajte i definirajte niz arr tipa int u kojem e biti prvih 100 brojeva u obrnutom redoslijedu
tako da prvi lan niza bude 100, a zadnji 1.
Uz pomo metode QuickSort niz sortirajte, te uz pomo metode BinarySearch pronaite
indeks lana s vrijednosti 10.
92
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Rjeenja
1. Definirajte klasu Zrakoplov sa sljedeim lanicama:
privatne varijable:
Naziv, SnagaMotora, DosegLeta
konstruktor:
Zrakoplov(string, double, int)
using System;
Definirajte sljedea tri objekta tipa Fruit: x, y i z koji e predstavljati sljedee voe:
Jagoda
Limun
Avokado
--------------------------------------------------------------------------------------------------------------------
93
Visoka poslovna kola MINERVA
Studij za informatiki menadment
using System;
public Fruit(string s)
{
Vrsta = s;
}
using System;
94
Visoka poslovna kola MINERVA
Studij za informatiki menadment
public Sport(string s)
{
Naziv = s;
}
Definirajte objekt Tower tipa Neboder s visinom od 200 m, postavite vrijednost broja katova na
100, poveajte visinu za 10 m, poveajte broj katova za 1, te ispiite kolika je prosjena visina
kata.
--------------------------------------------------------------------------------------------------------------------
using System;
95
Visoka poslovna kola MINERVA
Studij za informatiki menadment
using System;
96
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Definirajte tri objekta tipa PrvaKlasa: x, y i z, te nakon toga ispiite vrijednost statike varijable
counter.
--------------------------------------------------------------------------------------------------------------------
using System;
public PrvaKlasa()
{
counter++;
}
97
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Console.WriteLine(z.Counter);
}
}
using System;
using System;
class Film
{
private int VrijemeTrajanja;
98
Visoka poslovna kola MINERVA
Studij za informatiki menadment
class Test
{
public static void Main()
{
Horor x = new Horor();
Drama y = new Drama();
Komedija z = new Komedija();
}
}
9. Definirajte klasu Biljka, te definirajte od nje izvedenu klasu Stablo sa sljedeim lanicama:
varijabla tipa bool
opadajuListovi
svojstvo
OpadajuListovi
konstruktor
Stablo(bool) koji e dodijeliti vrijednost proslijeenog argumenta varijabli
opadajuListovi
Definirajte dva objekta Hrast i Bor tipova Bijelogoricno i Crnogoricno, te ispiite vrijednosti
njihovih lanica opadajuListovi.
--------------------------------------------------------------------------------------------------------------------
using System;
class Biljka
{
}
99
Visoka poslovna kola MINERVA
Studij za informatiki menadment
public Stablo(bool b)
{
OpadajuListovi = b;
}
}
class Test
{
public static void Main()
{
Bjelogoricno Hrast = new Bjelogoricno();
Crnogoricno Bor = new Crnogoricno();
Console.WriteLine("{0} {1}",
Hrast.OpadajuListovi, Bor.OpadajuListovi);
}
}
Definirajte dva objekta tipa Trokut i Cetverokut, uitajte duljine stranica, te izraunajte
opsege.
--------------------------------------------------------------------------------------------------------------------
100
Visoka poslovna kola MINERVA
Studij za informatiki menadment
using System;
class GeometrijskiLik
{
protected byte BrojStranica;
protected double [] Stranice = new double [10];
class Test
{
public static void Main()
{
Trokut t = new Trokut();
t.UcitajStranice();
Console.WriteLine("Opseg trokuta je {0}", t.Opseg());
101
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Definirajte dva objekta tipa Brod i Zrakoplov, te ispiite vrijednosti varijabli JeLiLeti i
JeLiPlovi.
--------------------------------------------------------------------------------------------------------------------
using System;
class Vozilo
{
protected bool JeLiLeti;
protected bool JeLiPlovi;
class Test
{
public static void Main()
{
Brod t = new Brod();
t.KudaVozi();
102
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Definirajte klase Cijeli i Decimalni izvedene iz klase Brojevi, te klase Pozitivni i Negativni
izvedene iz klase Cijeli. U svakoj od izvedenih klasa predefinirajte metodu ApsVrijednost tako
da vraa apsolutnu vrijednost varijable broj.
using System;
class Brojevi
{
private double broj;
103
Visoka poslovna kola MINERVA
Studij za informatiki menadment
class Test
{
public static void Main()
{
Pozitivni x = new Pozitivni();
x.Broj = 100;
Console.WriteLine(x.ApsVrijednost());
using System;
class ProgramskiJezik
{
private double postotak;
104
Visoka poslovna kola MINERVA
Studij za informatiki menadment
class Test
{
public static void Main()
{
double sum = 0;
Console.WriteLine("Upiite postotak:");
string s = Console.ReadLine();
Proceduralni x = new Proceduralni();
x.Postotak = Convert.ToDouble(s);
sum += x.Postotak;
Console.WriteLine("Upiite postotak:");
s = Console.ReadLine();
Objektni y = new Objektni();
y.Postotak = Convert.ToDouble(s);
sum += y.Postotak;
Console.WriteLine("Upiite postotak:");
s = Console.ReadLine();
Funkcionalni z = new Funkcionalni();
z.Postotak = Convert.ToDouble(s);
sum += z.Postotak;
if(sum != 100)
Console.WriteLine("Podaci nisu dobro uneeni");
else
{
if(x.Postotak > y.Postotak && x.Postotak > z.Postotak)
Console.WriteLine("Najzastupljeni su proceduralni
programski jezici");
else if(y.Postotak > z.Postotak)
Console.WriteLine("Najzastupljeni su objektni
programski jezici");
else
Console.WriteLine("Najzastupljeni su funkcionalni
programski jezici");
}
}
}
105
Visoka poslovna kola MINERVA
Studij za informatiki menadment
using System;
class GeometrijskoTijelo
{
public static int BrojacTijela;
private double Volumen;
private double Oplosje;
}
class Test
{
public static void Main()
{
Kugla x = new Kugla();
Kugla.BrojacTijela++;
Kvadar y = new Kvadar();
Kvadar.BrojacTijela++;
Kocka z = new Kocka();
Kocka.BrojacTijela++;
Console.WriteLine(GeometrijskoTijelo.BrojacTijela);
}
}
106
Visoka poslovna kola MINERVA
Studij za informatiki menadment
using System;
class NebeskoTijelo
{
protected double BrzinaOkoOsi;
protected double BrzinaOkoSunca;
}
class Test
{
public static void Main()
{
Planet Zemlja = new Planet(1000, 2000);
Satelit Mjesec = new Satelit(100, 200);
}
}
107
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Definirajte klasu Gepard izvedenu iz klase Cat, te predefinirajte metodu Opasnost tako da
postavi vrijednost varijable opasna na true.
using System;
class Cat
{
private bool opasna;
class Test
{
static void Main()
{
Gepard g = new Gepard();
g.Opasnost();
}
}
Definirajte objekt x tipa KlasaX, te koristei indekse dodijelite nizu arr prvih 100 brojeva i
ispiite 50. lan niza.
--------------------------------------------------------------------------------------------------------------------
using System;
class KlasaX
{
108
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Console.WriteLine(x[50]);
}
}
Definirajte objekt y tipa KlasaY, te koristei indekse dodijelite nizu arr 5 proizvoljnih stringova te
ispiite etvrti lan niza.
--------------------------------------------------------------------------------------------------------------------
using System;
class KlasaY
{
private string[] arr = new string[5];
109
Visoka poslovna kola MINERVA
Studij za informatiki menadment
using System;
interface IControl
{
void Metoda1();
void Metoda2();
}
110
Visoka poslovna kola MINERVA
Studij za informatiki menadment
{
Console.WriteLine("Metoda2");
}
}
class Test
{
public static void Main()
{
RadioButton x = new RadioButton();
CheckBox y = new CheckBox();
}
}
using System;
interface IControl
{
void Metoda();
int Brojac { get; set; }
}
111
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Console.WriteLine("Metoda");
}
class Test
{
public static void Main()
{
ListBox x = new ListBox();
ComboBox y = new ComboBox();
}
}
using System;
class KlasaA
{
public void PrintNumber(int i)
{
Console.WriteLine(i);
}
class Test
{
public static void Main()
{
112
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Definirajte objekt tipa KlasaB, zatraite od korisnika da unese niz znakova, te taj niz znakova
proslijedite metodi BezPrvogIZadnjeg, a povratnu vrijednost ispiite. Osigurajte pritom da se
metoda pozove samo ako je korisnik unio vie od 2 znaka.
--------------------------------------------------------------------------------------------------------------------
using System;
class KlasaB
{
public string BezPrvogIZadnjeg(string s)
{
return s.Substring(1, s.Length - 2);
}
}
class Test
{
public static void Main()
{
Console.WriteLine("Unesite niz znakova:");
string s = Console.ReadLine();
KlasaB x = new KlasaB();
if(s.Length > 2)
s = x.BezPrvogIZadnjeg(s);
Console.WriteLine(s);
}
}
Definirajte objekt tipa KlasaC, zatraite od korisnika da unese 5 cijelih brojeva koje spremite u
niz tipa int veliine 5 lanova. Taj niz proslijedite metodama Zbroj i Prosjek koje ete pozvati
za definirani objekt, te povratne vrijednosti spremite u lokalne varijable zbroj i prosjek.
--------------------------------------------------------------------------------------------------------------------
using System;
113
Visoka poslovna kola MINERVA
Studij za informatiki menadment
class KlasaC
{
public int Zbroj(int [] arr)
{
int sum = 0;
for (int i = 0; i < arr.Length;i++ )
sum += arr[i];
return sum;
}
class Test
{
public static void Main()
{
int[] arr = new int[5];
Definirajte objekt tipa KlasaD, te pozovite metode Suprotno za argumente true i 50. Povratne
vrijednosti iz metoda spremite u lokalne varijable, te na kraju ispiite njihove vrijednosti.
--------------------------------------------------------------------------------------------------------------------
using System;
class KlasaD
114
Visoka poslovna kola MINERVA
Studij za informatiki menadment
{
public bool Suprotno(bool x)
{
return !x;
}
class Test
{
public static void Main()
{
KlasaD x = new KlasaD();
bool b = x.Suprotno(true);
Console.WriteLine(b);
int i = x.Suprotno(50);
Console.WriteLine(i);
}
}
Definirajte objekt tipa KlasaE, deklarirajte i definirajte s proizvoljnom vrijednosti lokalnu varijablu
tipa int, proslijedite je metodi Plus100, te na kraju ispiite vrijednost te lokalne varijable.
--------------------------------------------------------------------------------------------------------------------
using System;
class KlasaE
{
public void Plus100(ref int i)
{
i += 100;
return;
}
}
class Test
{
public static void Main()
{
int i = 100;
KlasaE x = new KlasaE();
x.Plus100(ref i);
Console.WriteLine(i);
}
}
115
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Definirajte objekt tipa KlasaF, deklarirajte lokalnu varijablu tipa double, proslijedite je metodi
f200, te na kraju ispiite vrijednost te lokalne varijable.
--------------------------------------------------------------------------------------------------------------------
using System;
class KlasaF
{
public void f200(out double d)
{
d = 200;
return;
}
}
class Test
{
public static void Main()
{
double d;
KlasaF x = new KlasaF();
x.f200(out d);
Console.WriteLine(d);
}
}
using System;
class KlasaG
{
public void Plus10(ref int i)
{
i += 10;
return;
}
116
Visoka poslovna kola MINERVA
Studij za informatiki menadment
}
}
class Test
{
public static void Main()
{
int i = 5;
KlasaG x = new KlasaG();
x.Plus10(ref i);
x.f50(out i);
Console.WriteLine(i);
}
}
Definirajte objekt tipa Sort, deklarirajte i definirajte niz arr tipa int s proizvoljnim vrijednostima
elemenata, te uz pomoe metode QuickSort sortirajte niz tako da prvi i zadnji lan niza bez
obzira na njihovu vrijednost ostanu na svojim mjestima.
Ispiite sve elemente niza.
--------------------------------------------------------------------------------------------------------------------
using System;
class Sort
{
public void QuickSort(int[] arr, int left, int right)
{
int i = left, j = right;
int x = arr[(left + right) / 2];
do
{
while(arr[i] < x && i < right)
i++;
while(arr[j] > x && j > left)
j--;
if(i <= j)
{
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
i++;
j--;
}
} while(i <= j);
if(left < j)
QuickSort(arr, left, j);
if(i < right)
117
Visoka poslovna kola MINERVA
Studij za informatiki menadment
QuickSort(arr, i, right);
}
}
class Test
{
public static void Main()
{
int [] arr = new int [] {3, 2, 4, 0, 5, 1, 6, 7, 9, 8};
Deklarirajte i definirajte niz arr tipa int s proizvoljnim vrijednostima elemenata, te uz pomo
metode QuickSort sortirajte niz.
Ispiite sve elemente niza.
--------------------------------------------------------------------------------------------------------------------
using System;
class Sort
{
public static void QuickSort(int[] arr, int left, int right)
{
int i = left, j = right;
int x = arr[(left + right) / 2];
do
{
while (arr[i] > x && i < right)
i++;
while (arr[j] < x && j > left)
j--;
if (i <= j)
{
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
i++;
j--;
}
} while (i <= j);
118
Visoka poslovna kola MINERVA
Studij za informatiki menadment
if (left < j)
QuickSort(arr, left, j);
if (i < right)
QuickSort(arr, i, right);
}
}
class Test
{
public static void Main()
{
int[] arr = new int[] { 3, 2, 4, 0, 5, 1, 6, 7, 9, 8 };
Sort.QuickSort(arr, 0, arr.Length - 1);
for (int i = 0; i < arr.Length; i++)
Console.WriteLine(arr[i]);
}
}
Definirajte objekt tipa Sort, deklarirajte i definirajte niz arr tipa string s proizvoljnim
vrijednostima elemenata, te uz pomoe metode QuickSort sortirajte niz.
Ispiite sve elemente niza.
--------------------------------------------------------------------------------------------------------------------
using System;
class Sort
{
public void QuickSort(string[] arr, int left, int right)
{
int i = left, j = right;
string x = arr[(left + right) / 2];
do
{
while(arr[i].CompareTo(x) < 0 && i < right)
i++;
while(arr[j].CompareTo(x) > 0 && j > left)
j--;
if(i <= j)
{
string tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
i++;
j--;
}
} while(i <= j);
if(left < j)
119
Visoka poslovna kola MINERVA
Studij za informatiki menadment
class Test
{
public static void Main()
{
string[] arr = new string[] {
"jedan", "dva", "tri", "etiri", "pet" };
Definirajte objekt tipa Search, deklarirajte i definirajte niz arr tipa int u kojem e biti prvih 100
neparnih brojeva, te uz pomoe metode BinarySearch pronaite indeks lana s vrijednosti 75.
--------------------------------------------------------------------------------------------------------------------
using System;
class Search
{
public int BinarySearch(int[] arr, int x)
{
int low = 0, high = arr.Length - 1, middle;
}
}
class Test
{
120
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Definirajte objekt tipa Search, deklarirajte i definirajte niz arr tipa string veliine 5 lanova s
proizvoljnim vrijednostima, te uz pomoe metode BinarySearch pronaite indeks treeg lana
niza.
--------------------------------------------------------------------------------------------------------------------
using System;
class Search
{
public int BinarySearch(string[] arr, string str)
{
int low = 0, high = arr.Length - 1, middle;
}
}
class Test
{
public static void Main()
{
string[] arr = new string[] {
"etiri", "dva", "jedan", "pet", "tri" };
121
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Deklarirajte i definirajte niz arr tipa int u kojem e biti prvih 100 brojeva u obrnutom redoslijedu
tako da prvi lan niza bude 100, a zadnji 1.
Uz pomo metode QuickSort niz sortirajte, te uz pomo metode BinarySearch pronaite
indeks lana s vrijednosti 10.
--------------------------------------------------------------------------------------------------------------------
using System;
class SortAndSearch
{
public static void QuickSort(int[] arr, int left, int right)
{
int i = left, j = right;
int x = arr[(left + right) / 2];
do
{
while (arr[i] < x && i < right)
i++;
while (arr[j] > x && j > left)
j--;
if(i <= j)
{
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
i++;
j--;
}
} while (i <= j);
if(left < j)
QuickSort(arr, left, j);
if(i < right)
QuickSort(arr, i, right);
}
122
Visoka poslovna kola MINERVA
Studij za informatiki menadment
}
}
class Test
{
public static void Main()
{
int[] arr = new int[100];
for(int i = 100; i > 0; i--)
arr[100-i] = i;
123
Visoka poslovna kola MINERVA
Studij za informatiki menadment
124
Visoka poslovna kola MINERVA
Studij za informatiki menadment
125
Visoka poslovna kola MINERVA
Studij za informatiki menadment
126
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Zadaci
2. Napiite program koji e zatraiti od korisnika da unese postotak za koji e se poveati cijena,
te e izraunati postotak za koji tu istu cijenu treba smanjiti tako da se vrati na staru vrijednost.
4. Napiite program koji e od korisnika uzeti prolotjednu i ovotjednu cijenu barela nafte te e
izraunati i ispisati porast ili pad izraen u postocima. Ispis treba biti jedan od sljedeih:
Cijena nafte porasla je za x %
Cijena nafte pala je za x %
Cijena nafte ostala je ista
Osigurajte da korisnik mora unijeti vrijednosti manje od 100.
5. Napiite program koji e zatraiti od korisnika da unese iznos glavnice kredita, broj otplatnih
rata i godinju kamatnu stopu, te e na osnovu uneenih podataka izraunati i ispisati otplatni
plan.
6. Napiite program koji e zatraiti od korisnika da unese iznos mjesenog anuiteta, broj
otplatnih rata i godinju kamatnu stopu, te e na osnovu uneenih podataka izraunati iznos
glavnice kredita. Takoer, izraunajte ukupnu kamatu koja e biti otplaena.
8. Napiite program koji e izraditi tablicu anuiteta za sve kredite u sljedeim rasponima:
glavnica od 100000 do 1000000 u razmacima po 100000
razdoblje otplate od 5 g. do 20 g. u razmacima po 1 g.
kamatna stopa od 5 % do 10 % u razmacima po 0.1 %
9. Napiite program koji e zatraiti od korisnika da unese iznos glavnice, broj otplatnih rata i
mjeseni anuitet, te e na osnovu uneenih podataka izraunati minimalni iznos potrebne kamate
za takav kredit. Kamatu izraunajte s tonou 0.01.
10. Napiite program koji e zatraiti od korisnika da unese iznos glavnice kredita u kunama,
broj otplatnih mjesenih rata, te staru i novi godinju kamatnu stopu, te e na osnovu uneenih
podataka izraunati i ispisati poveanje anuiteta u kunama i u postocima.
11. Napiite program u kojem ete definirati dva niza veliine 5 koji e predstavljati teajnu
listu:
prvi niz u kojem e biti ifre valuta AUD, JPY, GBP, USD i EUR
drugi niz u kojem e biti srednji teajevi tih valuta: 4.47, 4.43, 9.23, 4.68 i 7.25
127
Visoka poslovna kola MINERVA
Studij za informatiki menadment
12. Napiite program koji e definirati 3 niza tipa double veliine 5, te ih definirajte na sljedei
nain:
Prvi niz definirajte s nabavnim cijenama za 5 artikala
Drugi niz definirajte s iznosima mari za tih 5 artikala
Trei niz definirajte s iznosima poreza za tih 5 artikala
Definirajte etvrti niz tipa double veliine 5 u kojem e biti vrijednosti maloprodajnih cijeni tih 5
artikala, te ispiite njegove vrijednosti.
13. Napiite program koji e definirati 3 niza tipa double veliine 5, te ih definirajte na sljedei
nain:
Prvi niz definirajte s nabavnim cijenama za 5 artikala
Drugi niz definirajte s iznosima poreza za tih 5 artikala
Trei niz definirajte s maloprodajnim cijenama tih 5 artikala
Definirajte etvrti niz tipa double veliine 5 u kojem e biti vrijednosti mari za tih 5 artikala, te
ispiite njegove vrijednosti.
14. Cijena unce zlata prije 30 dana bila je 800 $. U iduih 20 dana cijena je rasla po 2 %, a u
sljedeih 10 dana cijena je padala po 3.5 %.
Napiite program koji e izraunati dananju cijenu unce zlata.
15. Cijena m3 prirodnog plina iznosi 0.45 $ i u iduim danima e rasti svaki dan po 8 %.
Napiite program koji e izraunati za koliko e dana cijena plina premaiti 1 $, te koliko bi je
nakon toga trebalo smanjiti da bude tono 1 $.
16. Napiite program u kojem ete definirati niz tipa int veliine 10, te ete ga definirati s
vrijednostima prvih 10 brojeva. Izraunajte standardnu devijaciju niza.
17. Napiite program u kojem ete definirati niz tipa double veliine 10, te ete ga definirati s
10 proizvoljnih brojeva. Izraunajte medijanu niza.
20. Napiite program koji e izraunati postotak poveanja industrijske proizvodnje u dravi X
ako se godinji prirast u razdoblju od 10 godina svake godine poveava za 0.15 % (npr. ako je u
nekoj godini prirast 4.3 % u iduoj je 4.45 %).
Za vrijednost godinjeg prirasta u prvoj godini uzmite vrijednost 2.4 %.
128
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Rjeenja
1. Napiite program koji e zatraiti od korisnika da unese postotak PDV-a, te e izraunati
preraunatu stopu PDV-a.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Upiite postotak PDV-a:");
string s = Console.ReadLine();
double PDV = Convert.ToDouble(s);
2. Napiite program koji e zatraiti od korisnika da unese postotak za koji e se poveati cijena,
te e izraunati postotak za koji tu istu cijenu treba smanjiti tako da se vrati na staru vrijednost.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Upiite postotak poveanja cijene:");
string s = Console.ReadLine();
double d1 = Convert.ToDouble(s);
using System;
class Test
{
public static void Main()
{
string s;
double d1, d2;
129
Visoka poslovna kola MINERVA
Studij za informatiki menadment
do
{
Console.WriteLine("Upiite jueranji CROBEX:");
s = Console.ReadLine();
d1 = Convert.ToDouble(s);
} while(d1 < 0);
do
{
Console.WriteLine("Upiite dananji CROBEX:");
s = Console.ReadLine();
d2 = Convert.ToDouble(s);
} while(d2 < 0);
4. Napiite program koji e od korisnika uzeti prolotjednu i ovotjednu cijenu barela nafte te e
izraunati i ispisati porast ili pad izraen u postocima. Ispis treba biti jedan od sljedeih:
Cijena nafte porasla je za x %
Cijena nafte pala je za x %
Cijena nafte ostala je ista
Osigurajte da korisnik mora unijeti vrijednosti manje od 100.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
string s;
double d1, d2;
do
{
Console.WriteLine("Prolotjedna cijena nafte:");
s = Console.ReadLine();
d1 = Convert.ToDouble(s);
} while(d1 >= 100);
do
{
Console.WriteLine("Ovotjedna cijena nafte:");
s = Console.ReadLine();
d2 = Convert.ToDouble(s);
} while (d2 >= 100);
130
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Console.WriteLine(
"Cijena nafte porasla je za {0} %", d);
else if(d2 < d1)
Console.WriteLine(
"Cijena nafte pala je za {0} %", d);
else
Console.WriteLine("Cijena nafte ostala je ista");
}
}
5. Napiite program koji e zatraiti od korisnika da unese iznos glavnice kredita, broj otplatnih
mjesenih rata i godinju kamatnu stopu, te e na osnovu uneenih podataka izraunati i ispisati
otplatni mjeseni plan.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Unesite iznos glavnice:");
string s = Console.ReadLine();
double C = Convert.ToDouble(s);
double I = 0, R = 0;
for (int i = 0; i < n; i++)
{
I = C * p / 100; // Kamate
R = a - I; // Rate
C -= R; // Glavnica
Console.WriteLine("{0,10:d} {1,10:f} {2,10:f} {3,10:f}
{4,10:f}", i + 1, a, I, R, C);
}
}
}
6. Napiite program koji e zatraiti od korisnika da unese iznos mjesenog anuiteta, broj
otplatnih rata i godinju kamatnu stopu, te e na osnovu uneenih podataka izraunati iznos
glavnice kredita. Takoer, izraunajte ukupnu kamatu koja e biti otplaena.
--------------------------------------------------------------------------------------------------------------------
131
Visoka poslovna kola MINERVA
Studij za informatiki menadment
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Unesite iznos anuiteta:");
string s = Console.ReadLine();
double a = Convert.ToDouble(s);
double r = 1 + p / 100;
double C = a * (Math.Pow(r, n) - 1) /
(Math.Pow(r, n) * (r - 1));
7. Napiite program koji e za 20 godinji kredit iznosa 1000000 kn s kamatnom stopom 8.5 %
godinje izraunati nakon koliko e mjeseci ukupno otplaena kamata premaiti iznos glavnice.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int n = 240;
double C = 1000000, p = 8.5;
p /= 12;
double r = 1 + p / 100;
double a = C * Math.Pow(r, n) * (r - 1) / (Math.Pow(r, n) - 1);
double I = 0, R = 0, C0 = C;
132
Visoka poslovna kola MINERVA
Studij za informatiki menadment
double TotalKamata = 0;
bool flag = false;
for (int i = 0; i < n; i++)
{
I = C * p / 100;
TotalKamata += I;
R = a - I;
C -= R;
if(TotalKamata > C0)
{
Console.WriteLine("Nakon {0} mjeseci", i + 1);
flag = true;
break;
}
}
if (flag == false)
Console.WriteLine("Ukupno otplaena kamata nee premaiti
iznos glavnice");
}
}
8. Napiite program koji e izraditi tablicu anuiteta za sve kredite u sljedeim rasponima:
glavnica od 100000 do 1000000 u razmacima po 100000
razdoblje otplate od 5 g. do 20 g. u razmacima po 1 g.
kamatna stopa od 5 % do 10 % u razmacima po 0.1 %
using System;
class Test
{
public static void Main()
{
for (int C = 100000; C <= 1000000; C += 100000)
{
for (int n = 60; n <= 240; n += 12)
{
for (double p = 5; p <= 10; p += 0.1)
{
double r = 1 + p / 100 / 12;
double a = C * Math.Pow(r, n) * (r - 1) /
(Math.Pow(r, n) - 1);
Console.WriteLine("{0,10:d} {1,4:d} {2,5:f}
{3,10:f}", C, n / 12, p, a);
}
}
}
}
}
9. Napiite program koji e zatraiti od korisnika da unese iznos glavnice, broj otplatnih rata i
mjeseni anuitet, te e na osnovu uneenih podataka izraunati minimalni iznos potrebne kamate
za takav kredit. Kamatu izraunajte s tonou 0.01.
--------------------------------------------------------------------------------------------------------------------
using System;
133
Visoka poslovna kola MINERVA
Studij za informatiki menadment
class Test
{
public static void Main()
{
Console.WriteLine("Unesite iznos glavnice:");
string s = Console.ReadLine();
double C = Convert.ToDouble(s);
double d;
for(d = 0.1; d < 10; d += 0.01) // Bez formule, iteracijom
{ // se dolazi do rjeenja
double r = 1 + d / 100 / 12;
if(C * Math.Pow(r, n) * (r - 1) / (Math.Pow(r, n) - 1) >= a)
break; // Premaen iznos uneenog anuiteta
}
Console.WriteLine("{0,0:f}", d);
}
}
10. Napiite program koji e zatraiti od korisnika da unese iznos glavnice kredita u kunama,
broj otplatnih mjesenih rata, te staru i novi godinju kamatnu stopu, te e na osnovu uneenih
podataka izraunati i ispisati poveanje anuiteta u kunama i u postocima.
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Unesite iznos glavnice u kunama:");
string s = Console.ReadLine();
double C = Convert.ToDouble(s);
134
Visoka poslovna kola MINERVA
Studij za informatiki menadment
p /= 12;
r = 1 + p / 100;
double a2 = C * Math.Pow(r, n)*(r - 1) / (Math.Pow(r, n)-1);
11. Napiite program u kojem ete definirati dva niza veliine 5 koji e predstavljati teajnu
listu:
prvi niz u kojem e biti ifre valuta AUD, JPY, GBP, USD i EUR
drugi niz u kojem e biti srednji teajevi tih valuta: 4.47, 4.43, 9.23, 4.68 i 7.25
using System;
class Test
{
public static void Main()
{
string[] oznake = { "AUD", "JPY", "GBP", "USD", "EUR" };
double[] srednji = { 4.47, 4.43, 9.23, 4.68, 7.25 };
double[] kupovni = new double[5];
double[] prodajni = new double[5];
12. Napiite program koji e definirati 3 niza tipa double veliine 5, te ih definirajte na sljedei
nain:
Prvi niz definirajte s nabavnim cijenama za 5 artikala
Drugi niz definirajte s iznosima mari za tih 5 artikala
Trei niz definirajte s iznosima poreza za tih 5 artikala
Definirajte etvrti niz tipa double veliine 5 u kojem e biti vrijednosti maloprodajnih cijeni tih 5
artikala, te ispiite njegove vrijednosti.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
135
Visoka poslovna kola MINERVA
Studij za informatiki menadment
{
public static void Main()
{
double[] nc = { 10.25, 20.03, 30.37, 40.28, 59.99 };
double[] marza = { 10, 20, 15, 20, 5 };
double[] porez = { 22, 22, 11, 0, 22 };
double[] mp = new double[5];
13. Napiite program koji e definirati 3 niza tipa double veliine 5, te ih definirajte na sljedei
nain:
Prvi niz definirajte s nabavnim cijenama za 5 artikala
Drugi niz definirajte s iznosima poreza za tih 5 artikala
Trei niz definirajte s maloprodajnim cijenama tih 5 artikala
Definirajte etvrti niz tipa double veliine 5 u kojem e biti vrijednosti mari za tih 5 artikala, te
ispiite njegove vrijednosti.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
double[] nc = { 10.25, 20.03, 30.37, 40.28, 59.34 };
double[] porez = { 10, 20, 15, 20, 5 };
double[] mc = { 13.99, 25.99, 36.99, 50.99, 73.99 };
double[] marza = new double[5];
14. Cijena unce zlata prije 30 dana bila je 800 $. U iduih 20 dana cijena je rasla po 2 %, a u
sljedeih 10 dana cijena je padala po 3.5 %.
Napiite program koji e izraunati dananju cijenu unce zlata.
--------------------------------------------------------------------------------------------------------------------
using System;
136
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Console.WriteLine("{0,0:f}", d);
}
}
15. Cijena m3 prirodnog plina iznosi 0.45 $ i u iduim danima e rasti svaki dan po 8 %.
Napiite program koji e izraunati za koliko e dana cijena plina premaiti 1 $, te koliko bi je
nakon toga trebalo smanjiti da bude tono 1 $.
--------------------------------------------------------------------------------------------------------------------
using System;
for(int i = 0; ;i++)
{
d *= 1.08;
if (d > 1)
{
Console.WriteLine("Nakon {0} dana", i+1);
break;
}
}
double p = (d - 1) / d * 100;
Console.WriteLine("Treba smanjiti cijenu za {0,0:f} %", p);
}
}
16. Napiite program u kojem ete definirati niz tipa int veliine 10, te ete ga definirati s
vrijednostima prvih 10 brojeva. Izraunajte standardnu devijaciju niza.
--------------------------------------------------------------------------------------------------------------------
using System;
class Test
{
public static void Main()
{
int[] niz = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int sum = 0;
137
Visoka poslovna kola MINERVA
Studij za informatiki menadment
17. Napiite program u kojem ete definirati niz tipa double proizvoljne veliine, te ete ga
definirati s proizvoljnim brojevima. Izraunajte medijanu niza.
using System;
double med;
if (len % 2 != 0)
med = (arr[len / 2]);
else
med = ((arr[len / 2 - 1] + arr[len / 2]) / 2);
Console.WriteLine(med);
}
}
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Unesite sadanju koliinu plave ribe");
string s = Console.ReadLine();
double a = Convert.ToDouble(s);
138
Visoka poslovna kola MINERVA
Studij za informatiki menadment
using System;
class Test
{
public static void Main()
{
Console.WriteLine("Unesite sadanji broj stanovnika");
string s = Console.ReadLine();
double a1 = Convert.ToDouble(s);
20. Napiite program koji e izraunati postotak poveanja industrijske proizvodnje u dravi X
ako se godinji prirast u razdoblju od 10 godina svake godine poveava za 0.15 % (npr. ako je u
nekoj godini prirast 4.3 % u iduoj je 4.45 %).
Za vrijednost godinjeg prirasta u prvoj godini uzmite vrijednost 2.4 %.
using System;
class Test
{
public static void Main()
{
double p = 2.4;
double C = 1;
for (int i = 0; i < 10; i++)
139
Visoka poslovna kola MINERVA
Studij za informatiki menadment
{
C *= Math.Pow(Math.E, p / 100);
p += 0.15;
}
Console.WriteLine("{0,0:f} %", (C - 1) * 100);
}
}
140
Visoka poslovna kola MINERVA
Studij za informatiki menadment
Tipovi varijabli:
Prioritet operatora:
Operator
(x) x.y a[x] x++ x--
++x --x
* / %
+
<< >>
< > <= >=
== !=
&
^
|
&&
||
?:
= *= /= %= += -= <<= >>= &= ^= |=
141