| 341 | | Za izpis 1. elementa bomo zapisali: |
| 342 | | |
| 343 | | {{{ |
| 344 | | #!c |
| 345 | | printf("Vrednost 1. elementa znaša %f\n", M[0]); |
| 346 | | }}} |
| 347 | | |
| | 341 | Za izpis 1. elementa bomo torej zapisali: |
| | 342 | |
| | 343 | {{{ |
| | 344 | #!c |
| | 345 | printf("Vrednost 1. elementa znaša %f", M[0]); |
| | 346 | }}} |
| | 347 | |
| | 348 | V pomnilniku je to polje zloženo tako, kot kaže slika 1, kjer vsak element polja zavzame 4 byte pomnilnika. |
| | 349 | |
| | 350 | [[Image(Pomnilnik.PNG)]] |
| | 351 | |
| | 352 | Slika 1: Stanje pomnilnika |
| | 353 | |
| | 354 | [[BR]] |
| | 355 | |
| | 356 | Pri tem nas verjetno zmoti to, da lahko matriko definiramo kot vektor. Takšen način definiranja matrike je dokaj pogost, pri tem pa z elementi operiramo na sledeči način (gre za enodimenzionalno polje): |
| | 357 | |
| | 358 | Za primer imamo matriko ''N'' velikosti 2×3 z elementi: |
| | 359 | |
| | 360 | {{{ |
| | 361 | 1.0 2.0 3.0 |
| | 362 | 4.0 5.0 6.0 |
| | 363 | }}} |
| | 364 | |
| | 365 | Sledi: |
| | 366 | |
| | 367 | {{{ |
| | 368 | #!c |
| | 369 | float N[2*3]={1.0, 2.0, 3.0, 4.0, 5.0, 6.0}; //Matriko zapišemo kot vektor v eni vrstici. Pišemo lahko tudi N[6]=... |
| | 370 | |
| | 371 | //Primer izpisa elementa, ki se nahaja v drugi vrstici prvega stolpca. V tem primeru gre za četrti element matrike oziroma vektorja N |
| | 372 | |
| | 373 | printf("Element v drugi vrstici prvega stolpca je %f", N[1*3+0]); |
| | 374 | |
| | 375 | |
| | 376 | //Primer izpisa elementa, ki se nahaja v prvi vrstici tretjega stolpca. |
| | 377 | |
| | 378 | printf("Element v prvi vrstici tretjega stolpca je %f", N[0*3+2]); |
| | 379 | |
| | 380 | }}} |
| | 381 | |
| | 382 | Poljubni element matrike zapišemo v splošni obliki kot: |
| | 383 | |
| | 384 | {{{ |
| | 385 | N[indeks vrstice * število stolpcev + indeks stolpca] |
| | 386 | }}} |
| | 387 | |
| | 388 | S tem, ko pomnožimo indeks vrstice s številom stolpcev, si lahko predstavljamo, da preskočimo vse elemente v prejšnih vrsticah. Če temu produktu prištejemo še indeks stolpca, pridemo ravno do tistega elementa, ki ga želimo. |
| | 389 | |
| | 390 | Enostaven primer generiranja elementov matrike nam kaže primer, ki smo ga spoznali pri kombiniranju kontrolnih stavkov. |
| | 391 | |
| | 392 | [[BR]] |
| | 393 | |
| | 394 | Poleg omenjenega načina definiranja matrik obstaja še drug način, pri katerem uporabimo večdimenzionalna polja. |
| | 395 | |
| | 396 | Primer definiranja matrike: |
| | 397 | |
| | 398 | {{{ |
| | 399 | #!c |
| | 400 | float N[2][3]={{1.0, 2.0, 3.0}, |
| | 401 | {4.0, 5.0, 6.0}}; |
| | 402 | |
| | 403 | //Primer izpisa elementa, ki se nahaja v prvi vrstici tretjega stolpca. |
| | 404 | |
| | 405 | printf("Element v prvi vrstici tretjega stolpca je %f", N[0][2]); |
| | 406 | }}} |
| | 407 | |
| | 408 | Pri tem ne smemo pozabiti, da se indeksi vrstic in stolpcev vedno začnejo z 0. |
| | 409 | |
| | 410 | [[BR]] |