logo

Dvodimenzionalni niz u C-u

Dvodimenzionalni niz se može definirati kao niz nizova. 2D niz je organiziran kao matrice koje se mogu predstaviti kao zbirka redaka i stupaca. Međutim, 2D nizovi stvoreni su za implementaciju podatkovne strukture slične relacijskim bazama podataka. Omogućuje jednostavno držanje većine podataka odjednom koji se mogu proslijediti bilo kojem broju funkcija gdje god je potrebno.

program za enkapsulaciju

Deklaracija dvodimenzionalnog polja u C-u

Sintaksa za deklariranje 2D niza je dana u nastavku.

 data_type array_name[rows][columns]; 

Razmotrite sljedeći primjer.

 int twodimen[4][3]; 

Ovdje je 4 broj redaka, a 3 broj stupaca.

Inicijalizacija 2D polja u C-u

U 1D polju ne trebamo specificirati veličinu polja ako se deklaracija i inicijalizacija izvode istovremeno. Međutim, to neće raditi s 2D nizovima. Morat ćemo definirati barem drugu dimenziju niza. Dvodimenzionalni niz se može deklarirati i definirati na sljedeći način.

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

Primjer dvodimenzionalnog niza u C-u

 #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++){>

Primjer C 2D polja: Pohranjivanje elemenata u matricu i njezin ispis.

 #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++)>