You are on page 1of 5

Datum: 12. 11.

2014
Predmet: OSNOVE RAUNARSTVA
Rok za predaju zadae: 30. 11. 2014.

ZADACI ZA DOMAU ZADAU br. 2


1. Potrebno je napisati program koji e testirati simetrinost matrice po najveim i najmanjim
vandijagonalnim elementima. Matrica je simetrina ako ima jednake najvee elemente iz O1
i O4 oblasti i ako ima jednake najmanje elemente iz O2 i O3 oblasti (pogledati sliku).
Korisnik sa tastature unosi cijeli broj n, koji predstavlja dimenziju matrice, te nakon toga
unosi i elemente matrice formata n n. Unos napraviti takvim da se jedan red matrice unosi
istovremeno (elementi se pri unosu razdvajaju razmacima pogledati primjer). Uneseni broj
n mora biti u intervalu [3, 30], u suprotnom program ispisuje greku i zavrava sa radom.
Program, pored toga to treba ispitati simetrinost matrice, treba da ispie najvee (odnosno
najmanje) vandijagonalne elemente iz pojedinih oblasti (zaokrueno na 3 decimale).

Va zadatak jeste da, za unesenu matricu, pronaete najvei ili najmanji elemenat iz
navedenih oblasti, ispitate simetrinost matrice i ispiete pronaene elemente.
Primjer1:
Unesite broj n: 5
Unesite elemente 1. reda: 1 2 3 4
Unesite elemente 2. reda: 6 5 4 3
Unesite elemente 3. reda: 1 2 3 4
Unesite elemente 4. reda: 8 3 0 2
Unesite elemente 5. reda: 6 4 0 0
Matrica je simetricna!
Elementi: O1 = 4.000, O2 = 1.000,

5
2
5
1
0
O3 = 1.000, O4 = 4.000

Objanjenje:UoblastiO1najveielemenatje4,istokaoiuoblastiO4.UoblastimaO2i
O3najmanjielemenatje1.
Primjer2:
Unesite broj n: 4
Unesite elemente 1. reda: 1 2 4.12 -4.12
Unesite elemente 2. reda: 0 2 3.11 23.11
Unesite elemente 3. reda: 2 4 34.1 -0.02
Unesite elemente 4. reda: 0 0 0.04 33.01
Matrica nije simetricna!
Elementi: O1 = 4.120, O2 = 0.000, O3 = -0.020, O4 = 0.040

Primjer3:
Unesite broj n: 2
Unos pogresan!

2. Napisati program koji omoguuje unos proizvoljnog broja nenegativnih cijelih brojeva
(maksimalno 100 elemenata) u niz A. Unos se prekida unosom broja -1.
Program treba najprije da izrauna aritmetiku sredinu unesenih brojeva. Zatim je potrebno
pronai cifru koja se pojavila najvie puta i cifru koja se pojavila najmanje puta u sastavu
unesenih brojeva, pri emu treba razmatrati samo one lanove niza koji su vei od
aritmetike sredine svih unesenih brojeva. Potrebno je ispisati i ukupan broj pojavljivanja te
dvije cifre, kao i aritmetiku sredinu svih unesenih brojeva zaokruenu na etiri decimale.
Ukoliko vie cifara imaju isti (najvei) broj pojavljivanja ispisuje se samo najvea od njih,
dok u sluaju kada vie cifara imaju najmanji broj pojavljivanja ispisuje se samo najmanja
od njih.
Ogranienja:
Maksimalan broj nenegativnih cijelih brojeva za unos je 100;
Unose se cijeli brojevi iz opsega [0, 32767], odnosno broj -1 za prekid unosa;
Napomena: Ukoliko se neka cifra ne pojavljuje niti jednom, ne treba je smatrati cifrom s
najmanjim brojem pojavljivanja.
Primjer 1:
Unesite brojeve:
10365
2841
31000
23711
17
-1
Aritmeticka sredina: 13586.8000
Najvise pojavljivanja ima cifra 1: 3
Najmanje pojavljivanja ima cifra 2: 1
Objanjenje: brojevi vei od aritmetike sredine su 31000 i 23711. U ovim brojevima cifre 0
i 1 se javljaju po tri puta, ali ispisujemo cifru 1 jer je ona vea. Slino tome, cifre 2 i 7 se
pojavljuju samo jednom, ali ispisujemo cifru 2 jer je manja. Cifre koje se nisu pojavljivale
(4, 5, 6...) ne raunamo.
Primjer 2:
Unesite brojeve:
22
22
-1
Aritmeticka sredina: 22.0000
GRESKA: Nema brojeva za razmatranje
Primjer 3:

Unesite brojeve:
-5
Niste unijeli nijedan nenegativan cijeli broj!
Primjer 4:
Unesite brojeve:
1
2
-1
Aritmeticka sredina: 1.5000
Najvise pojavljivanja ima cifra 2: 1
Najmanje pojavljivanja ima cifra 2: 1
3. Neka je zadana funkcija u obliku polinoma n-tog stepena:

f ( x) a0 x n a1 x n 1 ... an 2 x 2 an 1 x an
Potrebno je napisati program koji odreuje nule ove funkcije metodom pretrage.
U prvoj liniji korisnik unosi brojeve n, k, d, g, a zatim se trai unos n realnih koeficijenata
ai (za 0 i n ).
n je pozitivan cijeli broj 1n100 koji predstavlja stepen polinoma.
k je realan broj koji predstavlja korak pretrage, a d i g su donja i gornja granica intervala
pretrage (cijeli brojevi). Potrebno je izraunati vrijednost funkcije f(x) za sve vrijednosti
izmeu d i g ukljuujui i te dvije ( x[d , g] ) sa korakom k, te ako se znak izmeu dvije
susjedne vrijednosti funkcije razlikuje zakljuujemo da na tom intervalu funkcija sijee xosu tako da tu postoji barem jedna nula. (Ako unutar intervala postoji paran broj nula
neemo ih moi otkriti osim ako smanjimo korak, no ovaj program ne treba nita posebno
raditi za taj sluaj).
Na primjer ako je k = 10, d = -100, g = 100, izraunaemo f(x) za vrijednosti -100, -90,
-80,..., 80, 90, 100. Ako je f(0)>0 a f(10)<=0, znai da funkcija sijee x osu na intervalu
(0,10] pa program treba na ekranu ispisati taj interval.
Ogranienja:
Koeficijenti ai su vei ili jednaki -10, a manji ili jednaki 10;
Korak k (0.01<=k<=20);
dL<=gL;
Ukoliko unos ne zadovoljava ogranienja, program treba da ispie poruku:
Unos ne zadovoljava ogranicenja
i da se zavri. Ukoliko nema nule ni u jednom od intervala, program treba da ispie tekst:
Funkcija nema nula na zadanom intervalu.
Ukoliko su svi uneseni koeficijenti 0, program treba da ispie tekst:
Funkcija je jednaka nuli u svakoj tacki zadanog itervala.
Primjer 1:
4 10 -100 100
-1.0 -2.0 3.0 1.0 5.0
Intervali na kojima funkcija ima bar jednu nulu su:
(-10, 0]

(0, 10]
Objanjenje: U pitanju je funkcija: f (x)=x 42 x 3 +3 x2 + x +5 . Unesite ovu funkciju u
program Wolfram Alpha (www.wolframalpha.com) i pogledajte njen grafik. Vidjeete da
sijee x osu na dva mjesta od kojih je jedno na intervalu (-10,0] a drugo na intervalu (0,10].
Primjer 2:
4 10 -200 200
-100.0 -2.0 3.0 1.0 5.0
Pogresan unos
Primjer 3:
4 5 -100 100
1.0 -2.0 3.0 1.0 5.0
Funkcija nema nula na zadanom intervalu.
4. Korisnik najprije unosi dva pozitivna cijela broj N i M tako da je M N . U sluaju da M
ili N nije pozitivno ili da je M>N ispisuje se poruka "Brojevi nisu u trazenom opsegu" i
prekida se program. Zatim se sa tastature unosi N cijelih brojeva.
Program treba sluajno izabrati M lanova niza (koristei funkciju rand() obraenu na
tutorijalu 3) a zatim presloiti niz tako se na prvih M mjesta nalaze ovi sluajno izabrani
lanovi, i to na nain da se redom odabere svaki od sluajno odabranih lanova koji zatim
zamijeni mjesto sa lanom koji se nalazi na odgovarajuem mjestu na poetku niza. Ostali
lanovi trebaju ostati u istom redoslijedu. Tako formiran niz se zatim treba ispisati na ekran.
Nije dozvoljeno koritenje pomonog niza, vri se permutacija unutar istog niza.
Primjer 1:
Unesite broj N: 10
Unesite broj M: 3
Unesite clanove niza: 1 2 3 4 5 6 7 8 9 10
Nakon preslaganja niz glasi:
3 5 8 4 2 6 7 1 9 10
Objanjenje: Program je sluajno odabrao tri lana niza, a to su brojevi: 3, 5 i 8 (tim redom
ih je odabrao program, nije obavezno da budu poredani po veliini). Ova tri broja su
smjetena na poetna mjesta u nizu na sljedei nain: Najprije je broj 3 postavljen na prvo
mjesto u nizu tako to je zamijenio mjesto sa prvim lanom (broj 1) tako da niz glasi:
3 2 1 4 5 6 7 8 9 10
Zatim je broj 5 postavljen na drugo mjesto u nizu zamjenom sa lanom koji se tu ranije
nalazio:
3 5 1 4 2 6 7 8 9 10
Konano lan 8 je postavljen na tree mjesto u nizu zamjenom sa lanom koji se tu nalazi a
to je sada broj 1:
3 5 8 4 2 6 7 1 9 10
Primjer 2:
Unesite broj N: -3
Brojevi nisu u trazenom opsegu

Primjer 3:
Unesite broj N: 3
Unesite broj M: 8
Brojevi nisu u trazenom opsegu
Bodovanje:
Svaki od zadataka nosi po 0.5 bodova.
Zadaa ukupno nosi 2 boda.
Pravila ocjenjivanja i odbrane zadaa data su u zadai br. 1. Ipak podsjetiemo na sljedea
pravila:
Izlaz programa treba da bude tano onakav kakav je dat u zadatku.
Program ne smije da se krahira niti da ue u beskonanu petlju bez obzira ta je korisnik
unio. Zadaci kod kojih se deava neto od navedenog e dobiti manji broj bodova.
Zadaci trebaju biti pisani u programskom jeziku C. Zadaci koji koriste strukture koje
postoje samo u jeziku C++ ili zadaci koji koriste nestandardne ekstenzije C-a (kao to su
biblioteke conio.h, windows.h, funkcija getch(), system(PAUSE), niz ija je veliina
data promjenljivom i slino) e dobiti 0 bodova. Tutore ne interesuje to program "radi
kod mene" niti koje razvojno okruenje student koristi.

You might also like