آرايه ها در ++C
می توانند بيش از يک انديس داشته باشند . بدين صورت يک
آرايه چند انديسه يا چند بعدی خواهيم داشت . کاربردی ترين آرايه چند بعدی ،
آرايه دو بعدی می باشد که توسط آن می توان جدولی حاوی مقادير مختلف را شبيه
سازی کرد . به دستور زير توجه کنيد :
دستور فوق يک آرايه دو بعدی 3 در 4 را به صورت زير ايجاد می کند
:
هر عنصر آرايه به صورت
a[i][j]،
که در آن
i
شماره سطر و
j
شماره ستون می باشد ، قابل دسترسی است .
برای مقدار دهی اوليه به عناصر آرايه می توانيد مانند دستور زير عمل کنيد :
int b[2][2] = {{1,2},{3,4}};
دستور فوق آرايه
b
را به صورت زير مقدار دهی می کند :
در برنامه زير چند نمونه از مقدار دهی اوليه به آرايه دو بعدی 2 در 3 آورده شده
است :
#include <iostream.h>
void printArray( int [][ 3 ] );
void main()
{
int array1[ 2 ][ 3 ] = { { 1, 2, 3 }, { 4, 5, 6 } };
int array2[ 2 ][ 3 ] = { 1, 2, 3, 4, 5 };
int array3[ 2 ][ 3 ] = { { 1, 2 }, { 4 } };
cout << "Values in array1 by row are:" << endl;
printArray( array1 );
cout << "Values in array2 by row are:" << endl;
printArray( array2 );
cout << "Values in array3 by row are:" << endl;
printArray( array3 );
}
void printArray( int a[][ 3 ] )
{
for ( int i = 0; i < 2; i++ )
{
for ( int j = 0; j < 3; j++ )
cout << a[ i ][ j ] << ' ';
cout << endl;
}
}
خروجی برنامه به صورت زير می باشد :
Values in array1 by row are:
1 2 3
4 5 6
Values in array2 by row are:
1 2 3
4 5 0
Values in array3 by row are:
1 2 0
4 0 0
دربرنامه فوق تابع
PrintArray
وظيفه چاپ عناصر آرايه را بر روی صفحه نمايش دارا می باشد .
توجه داشته باشيد که ارسال آرايه به تابع به صورتint
a[][3]
انجام گرفت . اگر بياد داشته باشيد در آرايه های يک بعدی
نيازی به ذکر طول آرايه نبود اما آرايه های بيش از يک بعد تعداد عناصر بعدهای
ديگر بايد ذکر شود ، اما نيازی به ذکر طول بعد اول نمی باشد .
مثال :
در برنامه زير آرايه 2 بعدی 10 در 10 را با مقادير جدول
ضرب ، مقدار دهی می کنيم و سپس آن را بر روی صفحه نمايش چاپ می کنيم .
#include <iostream.h>
void main( )
{
int a[10][10],i,j;
for (i=0;i<10;i++)
for (j=0;j<10;j++)
a[i][j]=(i+1)*(j+1);
for (i=0;i<10;i++){
for (j=0;j<10;j++)
cout <<a[i][j]<<"\t";
cout<<endl;
}
}
خروجی برنامه فوق به صورت زير می باشد :
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
|