|
آرايه ها مي توانند داراي ابعاد بيشتري نيز باشند. در زبان C نيز مي توان يك آرايه
چند بعدي را بصورت زير اعلان كرد:
<type> <var-name> [<size 1>][<size 2>] …
[<size n>] ;
بعنوان مثال، اعلان زير يك آرايه دوبعدي را معرفي مي نمايد:
int A[5][8] ;
براي دسترسي به هر عنصر از اين آرايه بايد از دو علامت [] استفاده كرد. توجه كنيد
كه انديس سطرها و ستونها هر دو از 0 آغاز مي گردند. بعنوان مثال:
int A[5][8] ;
A[3][1] = 24;
البته در مورد آرايه هاي با ابعاد بالاتر نيز به شكل مشابهي عمل مي گردد. بعنوان
مثال به نحوه استفاده از يك آرايه سه بعدي در مثال زير دقت كنيد:
int B[5][8][6] ;
B[2][4][0] = 12;
برنامه 3) برنامه اي بنويسيد كه نمرات تعدادي دانشجو را براي 5 درس دريافت و آنها
را بهمراه معدل دانشجو ذخيره نمايد، سپس براي هر دانشجو معدل وي را چاپ نمايد.
void main() {
const int maxStudent = 100;
float grades[maxStudent][5] ;
float average[maxStudent];
int i, j, n;
printf("enter student number:");
scanf("%d",&n);
for (i=0 ; i< n ; i++) {
printf("student no %d:\n",i+1);
sum = 0;
for (j= 0 ;j<5 ; j++) {
printf("enter grade : ");
scanf("%f", &grades[i][j]);
sum += grades[i][j] ;
}
average[i] = sum / 5 ;
}
for (i=0 ; i< n ; i++)
printf("average of student %d is %f \n",i+1, average[i]);
}
و نكته آخر اينكه مقداردهي اوليه به آرايه هاي چندبعدي امكان پذير است و بصورت زير
انجام مي پذيرد:
int A[3][4] = { {12, 5, 3, 8} , {-3, 7, -9, 2}, {4, 22, 18, 6} };
يعني يك علامت {} براي كل مقداردهي قرار مي گيرد، سپس هر رديف از آرايه در داخل يك
{} مجزا قرار مي گيرد. براي ابعاد بالاتر نيز به روش مشابهي عمل مي گردد. بعنوان
مثال براي آرايه هاي سه بعدي داريم:
int A[2][3][4] = { { {12, 5, 3, 8} , {-3, 7, -9, 2}, {4, 22, 18, 6}
} , { {8, 1, -3, 4} , {-2, 8, 11, 21} , {7, 3, -15, -8} } };
با آرزوی موفقیت برای شما
سعید ابریشمی
|