تبلیغات
برنامه نویسی C++ - آموزش و سورس برنامه ی سی پلاس پلاس - مطالب ابر آرایه دو بعدی
برترین پیشنهاد

برنامه نویسی C++ - آموزش و سورس برنامه ی سی پلاس پلاس

بزرگترین پایگاه آموزش سی پلاس پلاس و سورس تمام برنامه های آن

آرایه های دو بعدی به عنوان آرگومان تابع:

برای ارسال آرایه های دو بعدی به عنوان آرگومان یک تابع باید نام تابع به عنوان آرگومان ذکر شود و برای تعریف پارامتر معادل آن باید مانند آرایه یک بعدی عمل کرد.
در حالتی که در آرایه یک بعدی پارامتر به صورت آرایه بدون طول ذکر می شد، در آرایه دو بعدی طول سطر ذکر نمی شود ولی طول ستون حتما باید ذکر شود و در این حالت طول سطر به عنوان آرگومان دیگری به تابع ارسال میشود.

شکل کلی ارسال آرایه دو بعدی به یک تابع:

void f1(int a[5][10]);
void f2(int a[][10], int);
int main()
{
    int a[5][10];
    ...
    f1(a);
    f2(a,5);
    ...
    return 0;
}

void f1(int a[5][10])
{
    ...
}
void f2(int x[][10], int row)
{
    ...
}

//end


مقدار دهی اوّلیه به آرایه ی دو بعدی:

آرایه ی دو بعدی را میتوان هنگام تعریف، مقداردهی اولیه نمود. در این حالت می توانیم برای هر سطر از {} استفاده کنیم که در صورت عدم استفاده، کامپایلر اقدام به چیدمان سطری عناصر آرایه می کند.

مثال:

int x[2][3] = {{1,2,3,}, {4,5,6}};
int x[2][3] = {{1,2}, {3}};
int x[2][3] = {1,2,3};
int x[2][3] = {{1,2,3,}, 7};

//end

نکته: در صورتی که تعداد {} های استفاده شده داخل {} اصلی بیشتر از تعداد سطر ها باشد یا تعداد داده های داخل هر سطر ({}) بیشتر از تعداد ستون های آرایه و یا هنگام مقداردهی در حالتی که برای سطر ها {} قرار ندهیم، تعداد عناصر بیشتر از تعداد عناصر آرایه باشد، خطا داریم.

خالی گذاشتن بعد ها در تعریف آرایه دو بعدی:

فقط و فقط در آرایه ی دو بعدی زمانی که مقداردهی اولیه انجام میشود، میتوانیم بعد اول را خالی بگذاریم. اما در هر شرایطی باید بعد دوم مقداردهی شود. که در این صورت باید حتما عناصر آرایه مقداردهی اولیه شوند.

مثال:

int x[][3] = {1,2,3};
int x[][3] = {1,2,3,4};

//end


اینم یک مثال از آرایه دو بعدی:

- برنامه ای بنویسید که با استفاده از یک آرایه با 3 سطر و 2 ستون، 12 عدد از ورودی گرفته و آنها را با فرمت مناسبی نمایش دهد.


ادامه مطلب(کد برنامه)

آرایه های چند بعدی:

در زبان C++ این امکان وجود دارد که آرایه های چند بعدی تولید نماییم. به روش زیر:

;...[تعداد عناصر بعد سوم] [تعداد عناصر بعد دوم] [تعداد عناصر بعد اول]     نام آرایه     نوع آرایه


بیشترین کاربرد آرایه ها در برنامه نویسی به آرایه های دو بعدی مربوط است.

آرایه های دو بعدی:

آرایه های دو بعدی یا ماتریس به شکل زیر تعریف میشوند:

;...[تعداد عناصر بعد دوم] [تعداد عناصر بعد اول]     نام آرایه     نوع آرایه


چون تعریف آرایه ی دو بعدی همان تعریف یک ماتریس در زبان C++ است، لذا تعداد عناصر بعد اول بیانگر تعداد سطر های ماتریس و تعداد عناصر بعد دوم بیان کننده ی تعداد ستون های ماتریس است. یعنی اندیس اول آرایه مشخص کننده شماره سطر و اندیس دوم مشخص کننده ی شماره ی ستون است.

مثال:
int a[2][3];

//end

نکته: در زبان C++ ذخیره شدن آرایه در حافظه بصورت سطری است. یعنی ابتدا عناصر سطر اول و سپس عناصر سطر دوم و ... در حافظه ذخیره می شوند.