logo

Двуизмерен масив в C

Двумерният масив може да се дефинира като масив от масиви. 2D масивът е организиран като матрици, които могат да бъдат представени като колекция от редове и колони. Въпреки това, 2D масиви са създадени, за да реализират структура от данни, подобна на релационна база данни. Той осигурява лесно съхраняване на по-голямата част от данни наведнъж, които могат да бъдат предадени на произволен брой функции, където е необходимо.

алгоритъм първо търсене в дълбочина

Декларация на двумерен масив в C

Синтаксисът за деклариране на 2D масива е даден по-долу.

 data_type array_name[rows][columns]; 

Помислете за следния пример.

 int twodimen[4][3]; 

Тук 4 е броят на редовете, а 3 е броят на колоните.

Инициализация на 2D масив в C

В 1D масива не е необходимо да указваме размера на масива, ако декларацията и инициализацията се извършват едновременно. Това обаче няма да работи с 2D масиви. Ще трябва да дефинираме поне второто измерение на масива. Двумерният масив може да бъде деклариран и дефиниран по следния начин.

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

Пример за двуизмерен масив в 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++){>

Пример за C 2D масив: Съхраняване на елементи в матрица и нейното отпечатване.

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