logo

Dvodimenzionalni niz v C

Dvodimenzionalni niz lahko definiramo kot niz nizov. 2D niz je organiziran kot matrike, ki jih je mogoče predstaviti kot zbirko vrstic in stolpcev. Vendar so 2D nizi ustvarjeni za implementacijo podatkovne strukture, podobne relacijski bazi podatkov. Zagotavlja enostavno shranjevanje velike količine podatkov hkrati, ki jih je mogoče posredovati poljubnemu številu funkcij, kjer koli je to potrebno.

bellfordov algoritem

Deklaracija dvodimenzionalne matrike v C

Sintaksa za deklaracijo 2D matrike je podana spodaj.

 data_type array_name[rows][columns]; 

Razmislite o naslednjem primeru.

 int twodimen[4][3]; 

Tu je 4 število vrstic, 3 pa število stolpcev.

Inicializacija 2D polja v C

V matriki 1D nam ni treba določiti velikosti matrike, če se deklaracija in inicializacija izvajata hkrati. Vendar to ne bo delovalo z 2D nizi. Določiti bomo morali vsaj drugo dimenzijo polja. Dvodimenzionalni niz lahko deklariramo in definiramo na naslednji način.

 int arr[4][3]={{1,2,3},{2,3,4},{3,4,5},{4,5,6}}; 

Primer dvodimenzionalne matrike v C

 #include int main(){ int i=0,j=0; int arr[4][3]={{1,2,3},{2,3,4},{3,4,5},{4,5,6}}; //traversing 2D array for(i=0;i<4;i++){ for(j="0;j&lt;3;j++){" printf('arr[%d] [%d]="%d" 
',i,j,arr[i][j]); } end of j i return 0; < pre> <p> <strong>Output</strong> </p> <pre> arr[0][0] = 1 arr[0][1] = 2 arr[0][2] = 3 arr[1][0] = 2 arr[1][1] = 3 arr[1][2] = 4 arr[2][0] = 3 arr[2][1] = 4 arr[2][2] = 5 arr[3][0] = 4 arr[3][1] = 5 arr[3][2] = 6 </pre> <h3>C 2D array example: Storing elements in a matrix and printing it.</h3> <pre> #include void main () { int arr[3][3],i,j; for (i=0;i<3;i++) { for (j="0;j&lt;3;j++)" printf('enter a[%d][%d]: ',i,j); scanf('%d',&arr[i][j]); } printf('
 printing the elements ....
'); for(i="0;i&lt;3;i++)" printf('
'); printf('%d	',arr[i][j]); < pre> <p> <strong>Output</strong> </p> <pre> Enter a[0][0]: 56 Enter a[0][1]: 10 Enter a[0][2]: 30 Enter a[1][0]: 34 Enter a[1][1]: 21 Enter a[1][2]: 34 Enter a[2][0]: 45 Enter a[2][1]: 56 Enter a[2][2]: 78 printing the elements .... 56 10 30 34 21 34 45 56 78 </pre> <hr></3;i++)></pre></4;i++){>

Primer C 2D polja: Shranjevanje elementov v matriko in njeno tiskanje.

 #include void main () { int arr[3][3],i,j; for (i=0;i<3;i++) { for (j="0;j&lt;3;j++)" printf(\'enter a[%d][%d]: \',i,j); scanf(\'%d\',&arr[i][j]); } printf(\'
 printing the elements ....
\'); for(i="0;i&lt;3;i++)" printf(\'
\'); printf(\'%d	\',arr[i][j]); < pre> <p> <strong>Output</strong> </p> <pre> Enter a[0][0]: 56 Enter a[0][1]: 10 Enter a[0][2]: 30 Enter a[1][0]: 34 Enter a[1][1]: 21 Enter a[1][2]: 34 Enter a[2][0]: 45 Enter a[2][1]: 56 Enter a[2][2]: 78 printing the elements .... 56 10 30 34 21 34 45 56 78 </pre> <hr></3;i++)>