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.

10.6.VIŠEDIMENZIONALNA POLJA 167Kako je takav način inicijalizacije jako nepregledan, inicijalne se vrijednostimogu pomoću vitičastih zagrada formirati u grupe koje se pridružuju pojedinimrecima. Tako možemo pisatistatic float m[2][3]={{1.0,2.0,3.0},{4.0,5.0,6.0}};što daje istu inicijalizaciju polja m, ali je namjera programera puno jasnija.Ukoliko neka od grupa ima manje elementa od dimenzije retka, ostali elemetiće biti inicijalizirani nulama.Višedimenzionalna polja se definitaju rekurzivno:• Višedimenzionalno polje je jednodimenzionalno polje čiji su elementipolja dimenzije manje za jedan.Tako je npr. dvodimenzionalno polje deklarirano naredbomfloat m[2][3];jedno jednodimenzionalno polje dimenzije 2 čiji su elementi m[0] i m[1] tipafloat[3] (jednodimenzionalna polja dimenzija 3); to su reci matrice m. Trodimenzionalnopoljefloat m[2][3][4];je jednodimenzionalno polje dimenzije 2 čiji su elementi m[0] i m[1] dvodimenzionalnapolja tipa float[3][4]. Elementi polja m bit će stoga smješteniu memoriju u redoslijedu m[0][][], m[1][][], odnosno prvo prva matricadimenzije 3×4, a zatim druga. Preciznije element m[i][j][k] bit će smještenna mjestoi*MAXY*MAXZ+j*MAXZ+k,gdje su MAXX=2, MAXY=3 i MAXZ=4 pojedine dimenzije polja.Kada je višedimenzionalno polje argument funkcije ono se može deklariratisa svim svojim dimenzijama ili sa svim dimenzijama osim prve. Naprimjer, funkcija koja čita matricu s MAXX redaka i MAXY stupaca može bitideklarirana kaovoid readinput(int m[MAXX][MAXY], int n, int m)gdje su n i m stvarni brojevi redaka i stupaca koje treba učitati.funkcija može biti deklarirana na sljedeći način:Ta ista

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

Saved successfully!

Ooh no, something went wrong!