Dvodimenzionalni niz matrica Dvodimenzionalni niz matrica Svaki element
- Slides: 22
Dvodimenzionalni niz matrica
Dvodimenzionalni niz (matrica) � Svaki element u dvodimenzionalnom nizu je određen svojim mjestom (redom i stupcem u kojem se nalazi). � Dvodimenzionalni niz se još naziva matricom. � Matrica reda mxn ima m redaka i n stupaca.
Dvodimenzionalni niz � Dvodimenzionalni niz je ograničeni skup podataka istog tipa. � Svaki element se dohvaća pomoću dva indeksa. � Indeksi retka i indeksi stupca počinju s 0. � Elementi nultog retka niza a su: �a 00, a 01, a 02, a 03, a 04, …. a 0 n � Elementi nultog stupca su: �a 00, a 10, a 20, a 30, a 40, …. am 0
Dvodimenzionalni niz 1. stupac 2. stupac 3. stupac 1. red A[0, 0] A[0, 1] A[0, 2] 2. red A[1, 0] 347 3. red A[2, 0] IME NIZA A[1, 2]=347 INDEKS RETKA INDEKS STUPCA VRIJEDNOST
Dvodimenzionalni niz � Ako matrica ima isti broj redaka i stupaca, onda kažemo da je kvadratna reda n. � Kvadratna matrica ima glavnu i sporednu dijagonalu. � Glavna dijagonala ? ? ? � Sporedna dijagonala ? ? Sporedna dijagonala a 00 a 10 a 20 a 30 a 01 a 11 a 21 a 31 a 02 a 12 a 22 a 32 a 03 a 13 a 23 a 33 Glavna dijagonala
Najava dvodimenzionalnog niza � Niz se mora najaviti u programu kao i svaka druga varijabla tip_elemenata_niza ime[broj_redova][broj_stupaca]; � Tip_elemenata_niza - (int, float, double, char) � Ime – identifikator � Broj_redova, broj_stupaca – m, n
Najava niza � int a[3][2]={{1, 2}, {3, 4}, {5, 6}}; � U radnoj memoriji je rezerviran memorijski prostor za 6 cijelih brojeva: Vrijednosti elemenata niza indeksi mjesto 0, 0 0, 1 1, 0 1, 1 1, 2 2, 0 1 2 3 4 5 6
Najava niza � Ako se niz deklarira kao globalna varijabla (prije main()), onda je početna vrijednost svih elemenata 0, inače su vrijednosti postavljene slučajno. � Niz se može inicijalizirati prilikom deklaracije ili u programu.
Inicijalizacija prilikom deklaracije int b[2][2]={{1, 2}, {-3, 4}}; 1 2 -3 4 • NAPOMENA: broj elemenata unutar vitičaste zagrade može biti manji ili jednak duljini niza. • Ako je broj elemenata u vitičastoj zagradi manji od duljine niza, onda su preostali elementi 0.
Upis elemenata dvodimenzionalnog niza � Elementi se unose pomoću dvije ugniježđene petlje (najčešće for) � Vanjska(za redak) � Unutrašnja(za stupac) for(i=0; i<m; i++) for(j=0; j<n; j++) scanf(“%d”, &a[i][j]);
Ispis elemenata dvodimenzionalnog niza � Elemente niza također ispisujemo pomoću dvije petlje: for(i=0; i<m; i++) {printf(„n”); for(j=0; j<n; j++) printf(“%d”, a[i][j]); }
Rad s dvodimenzionalnim nizom
Zadaci. �
Matrica u funkciji
Sortirajte matricu. 1. 2. 3. 4. 5. Upiši matricu. Prepiši matricu u niz. Sortiraj niz. Vrati elemente niza u matricu. Ispiši matricu.
Početak programa i globalne varijable #include<stdio. h> #include<conio. h> int x[10], y[100], n , m;
Glavni program main() { printf("Upisite broj redaka matrice: "); scanf("%d", &m); printf("Upisite broj stupaca matrice: "); scanf("%d", &n); upis(x, m, n); printf("Ispis matrice: n"); ispis(x, m, n); matrica_u_niz(x, m, n); sort(y, m*n); niz_u_matricu(x, m, n, y); printf("n. Ispis sortirane matrice: n"); ispis(x, m, n); getch(); }
Funkcije upisa i ispisa void upis(int a[10], int m, int n) {int i, j; for(i=0; i<m; i++) for(j=0; j<n; j++) { printf("x[%d]=", i, j); scanf("%d", &a[i][j]); } } void ispis(int a[10], int m, int n) {int i, j; for(i=0; i<m; i++) {printf("n"); for(j=0; j<n; j++) printf("%d ", a[i][j]); } }
Funkcija prijepisa matrice u niz void matrica_u_niz(int a[10], int m, int n) {int i, j, k=0; for(i=0; i<m; i++) for(j=0; j<n; j++) { y[k]=a[i][j]; k++; } }
Funkcija sortiranja niza void sort(int a[100], int n) {int p, i, j; for(i=0; i<n-1; i++) for(j=i+1; j<n; j++) if(a[i]>a[j]) { p=a[i]; a[i]=a[j]; a[j]=p; } }
Funkcija prijepisa niza u matricu void niz_u_matricu(int a[10], int m, int n, int y[100]) { int i, j, k=0; for(i=0; i<m; i++) for(j=0; j<n; j++) {a[i][j]=y[k]; k++; } }
Zadaci. 1. 2. Napiši funkciju koja će izračunati umnožak svih elemenata ispod glavne dijagonale matrice reda n. Napiši funkciju koja će ispitati je li matrica donje trokutasta. Matrica je donje trokutasta ako su joj svi elementi iznad glavne dijagonale jednaki nula.
- Naranča dobriša cesarić
- Nulta potencija
- Svaki zemljovid mora imati
- Sporedna dijagonala matrice
- Dvodimenzionalni oblici
- Signal element vs data element
- Signal element vs data element
- Marcel duchamp akt koji silazi niz stepenice
- Homologni niz alkana
- Duchamp akt
- Magmatske stijene
- Naponski niz
- Kąt ostry ma mniej niż
- Chcę raczej miłosierdzia niż ofiary
- Nafta i zemni gas hemija
- Akceptori
- Naponski niz metala
- Cis akonitat
- Kipi kasza kipi groch
- Kalendarz gregoriański ciekawostki
- Rješenje zadatka iz matematike
- Priložna rečenica
- Przecietna iq