مصفوفات ARRAYS الجزء الثانى


* المصفوفة ذات البعدين :*
- هى المصفوفة التى ترتب عناصرها فى شكل صفوف وأعمدة
- ويتم الإعلان عنها بالشكل التالى int a[5] [10] ومعناه أن المصفوفة ش مصفوفة ذات بعدين 5 صفوف و10 أعمده ويتم الاشارة الى العنصر برقم الصف ورقم العمود
ملاحظة : عند استخدام مصفوفة ذات البعدين لابد من استعمال دوارة for
* إعطاء قيمة ابتدائية للمصفوفة: يمكن إعطاء قيمة ابتدائية للمصفوفة ذات البعدين كمايلى
int a[3][4] =
{
{4,5,7,8 },
{3,2,4,5},
{7,8,9,6}
};
ملاحظة : فى هذا الشكل يأخذ العنصر رقم 0,0 القيمة 4 والعنصر رقم 0,1 القيمة 5
- تتحد القيم الأربع فى أول زوج أقواس { } داخلية لعناصر المنظومة فى الصف الأول وتتحدد القيم الموجودة فى زوج الأقواس { } التالى لعناصر المنظومة فى الصف الثانى000 وهكذا
شكل آخر للمصفوفة ذات البعدين :
int values[3][4] = {1,2,3,4,5,6,7,8,9,,10,11,12};
فى هذا الشكل يأخذ العنصر رقم 0,0 القيمة 1 أى values[0][0] ويـأخذ العنصر 0,1 القيمة 2 أى values[0][1]
مثال: على استخدام المصفوفات متعددة الأعمدة
كود:
كود:
# include <stdio.h> # define stud 3 # define marks 10 void main (void) { int student[stud][marks]; int c1 ,c1 ; for(c1 = 0 ; c1 < stud ; c1++) for ( c2 = 0 ; c2 < marks ; c2++) { printf ( “ enter marks: %2d for student %2d : “ , c2+1 , c1+1 ); scanf (“ %d “, &student[c1][c2]); } for(c1 = 0 ; c1 < stud ; c1++ ) for(c2= 0 ; c2 < marks ; c2++) printf(“ student [%2d] , marks[%2d] = %d\n “, c1+1, c2+1 , student[c1][c2]); }

ملاحظات
: فى بداية البرنامج نعلن عن المصفوفة student ذات البعدين
int student[stud][marks];
- وبعد ذلك نستخدم تكرارين for داخل بعضهم . نستخدم هذين التكرارين لطلب الدرجات من المستخدم. التكرار الأول يستمر بعــد الطلاب والتكرار الثانى بعد الدرجات.
كذلك نستخدم تكرارين لنطبع الدرجات التى أدخلها المستخدم.
* برنامج : جمع جدولين من العداد اى نحسب مجموع العناصر المتناظرة فى الجدولين أى نحسب
c[i][j] = a[i][j] + b[i][j]
ثم نستخرج الجدول الجديد محتوياً على المجموع








نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

والاتى تنفيذ البرنامج :-
how many rows? 3
how many columns? 4
first table :
enter data for row no. 1
1 2 3 4
enter data for row no. 2
5 6 7 8
enter data for rpw no. 3
9 10 11 12
second tables :
enter data for row no. 1
10 11 12 13
enter data for row no. 2
14 15 16 17
enter data for row no. 3
18 19 20 21
suns if the elements :
11 13 15 17
19 21 23 25
16 19 31 33