يمكن تعريف المصفوفة ثنائية الأبعاد بأنها مصفوفة من المصفوفات. يتم تنظيم المصفوفة ثنائية الأبعاد كمصفوفات يمكن تمثيلها كمجموعة من الصفوف والأعمدة. ومع ذلك، يتم إنشاء صفائف ثنائية الأبعاد لتنفيذ بنية بيانات مشابهة لقاعدة بيانات علائقية. فهو يوفر سهولة الاحتفاظ بمعظم البيانات مرة واحدة والتي يمكن تمريرها إلى أي عدد من الوظائف حيثما يكون ذلك مطلوبًا.
إزالة من قائمة الصفيف
إعلان صفيف ثنائي الأبعاد في C
بناء الجملة للإعلان عن المصفوفة ثنائية الأبعاد موضح أدناه.
data_type array_name[rows][columns];
النظر في المثال التالي.
int twodimen[4][3];
هنا، 4 هو عدد الصفوف، و 3 هو عدد الأعمدة.
تهيئة المصفوفة ثنائية الأبعاد في لغة C
في المصفوفة أحادية الأبعاد، لا نحتاج إلى تحديد حجم المصفوفة إذا تم الإعلان والتهيئة في وقت واحد. ومع ذلك، لن يعمل هذا مع المصفوفات ثنائية الأبعاد. سيتعين علينا تحديد البعد الثاني للمصفوفة على الأقل. يمكن الإعلان عن المصفوفة ثنائية الأبعاد وتعريفها بالطريقة التالية.
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<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<3;j++)" printf('enter a[%d][%d]: ',i,j); scanf('%d',&arr[i][j]); } printf(' printing the elements .... '); for(i="0;i<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<3;j++)" printf(\'enter a[%d][%d]: \',i,j); scanf(\'%d\',&arr[i][j]); } printf(\' printing the elements .... \'); for(i="0;i<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++)>
3;i++)>4;i++){>