logo

מערך דו מימדי ב-C

ניתן להגדיר את המערך הדו-ממדי כמערך של מערכים. המערך הדו-ממדי מאורגן כמטריצות שיכולות להיות מיוצגות כאוסף של שורות ועמודות. עם זאת, מערכים דו-ממדיים נוצרים כדי ליישם מבנה נתונים דומה לבסיס נתונים יחסי. זה מספק קל להחזיק את עיקר הנתונים בבת אחת שניתן להעביר לכל מספר פונקציות בכל מקום שנדרש.

אובייקט בתכנות ג'אווה

הכרזה על מערך דו מימדי ב-C

התחביר להכרזה על המערך הדו-ממדי ניתן להלן.

 data_type array_name[rows][columns]; 

שקול את הדוגמה הבאה.

 int twodimen[4][3]; 

כאן, 4 הוא מספר השורות, ו-3 הוא מספר העמודות.

אתחול של מערך 2D ב-C

במערך ה-1D, אין צורך לציין את גודל המערך אם ההכרזה והאתחול נעשים בו-זמנית. עם זאת, זה לא יעבוד עם מערכים דו-ממדיים. נצטרך להגדיר לפחות את הממד השני של המערך. ניתן להכריז ולהגדיר את המערך הדו-ממדי באופן הבא.

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

דוגמה למערך 2D C: אחסון אלמנטים במטריצה ​​והדפסתה.

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