12.07.2015 Views

Programski jezik C - Pmf

Programski jezik C - Pmf

Programski jezik C - Pmf

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.6. POLJA 31je prirodno definiciju funkcije staviti prije funkcije main, kao što smo učiniliu prethodnom primjeru. Ako u programu imamo puno funkcija takav načinpisanja može biti nepregledan jer funkcija main dolazi na kraju datoteke. Cnam stoga dozvoljava da definiciju funkcije stavimo iza funkcije main (odn.iza mjesta na kome se poziva) ako prije funkcije main postavimo prototipfunkcije.Prototip funkcije dobiva se tako da se u definiciji funkcije ispusti čitavotijelo funkcije. Prototip kao i sve druge naredbe završava s točka-zarezom.Općenito, dakle, prototip ima obliktip ime_funkcije(tip_1 arg_1, tip_2 arg_2, ...);Prototip za funkciju binom bi biolong binom(int n, int k);On predstavlja samo deklaraciju funkcije koja kaže da je binom ime funkcijekoja uzima dva argumenta tipa int i vraća argument tipa long. Ako je takvadeklaracija postavljena prije funkcije main, onda se definicija funkcije možepremjestiti iza funkcije main. Na osnovu prototipa prevodilac može provjeritida li je funkcija ispravno pozvana.Istaknimo da definicija funkcije mora biti u skladu s prototipom funkcije– tip funkcije te broj i tip argumenata moraju se podudarati.2.6 PoljaTreba napisati program koja uzima dva trodimenzionalna vektora i ispitujenjihovu okomitost. Matematički pojmovi vektora i matrica implementirajuse u C-u pomoću polja. Polje je niz indeksiranih varijabli istog tipa,smještenih u memoriji na uzastopnim lokacijama. Indeks polja uvijek krećeod nule.Da bismo ispitali okomitost vektora iskoristit ćemo formulu za kosinuskuta izmedu dva vektora:gdje jeskalarni produkt vektora, acos φ =⃗a ·⃗b‖⃗a‖‖ ⃗ b‖ ,⃗a ·⃗b = a 1 b 1 + a 2 b 2 + a 3 b 3‖⃗a‖ =√a 2 1 + a2 2 + a2 3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!