مقداردهی آرایه های دو بعدی
نام دوره: زبان سی شارپ مقدماتی
نویسنده: علی مقدم جاه (مدرس دوره)
مقداردهی آرایه های دو بعدی
نحوه مقداردهی آرایههای دو بعدی، دقیقا شبیه به مقدار دهی متغیرها است.
در متغیرها برای مقداردهی به شکل زیر عمل میکردیم:
string name = "kaarisho";
int age = 26;
float flag = true;
char ch = 'A';
... و
در آرایههای یک بعدی نیز دقیقا همین قانون صدق میکند، با این تفاوت که چون تمامی خانههای آرایه هم نام با خود آرایه هستند، پس باید علاوه بر صدا زدن نام خانه، شماره (اَندیس) خانه هم صدا بزنیم:
int [] ages = new int [5];
ages [0] = 18;
ages [1] = 25;
ages [2] = 30;
ages [3] = 21;
ages [4] = 17;
در آرایههای دو بعدی نیز به همین ترتیب، با این تفاوت که چون تمامی خانههای آرایه دارای دو نشانی سطر و ستون هستند، پس باید در هنگام فراخوانی آن خانه، شماره اَندیس سطر و ستون آن را نیز مشخص کنیم:
int [] ages = new int [5, 6];
ages [0, 4] = 18;
ages [1, 5] = 25;
ages [2, 1] = 30;
ages [3, 2] = 21;
ages [4, 0] = 17;
نکته: شمارش اعداد در دنیای برنامهنویسی از صفر آغاز میشود، یعنی اگر آرایهای دارای ۵ سطر و ۶ ستون باشد، اَندیس سطر و ستون آن از ۰ شروع شده و تا ۴ و ۵ ادامه پیدا میکنند.
به عنوان مثال:
خانه ages[0, 0] یعنی اولین خانه در سطر اول، ستون اول
خانه ages[1, 1] یعنی دومین خانه در سطر دوم، ستون دوم
خانه ages[0, 4] یعنی چهارمین خانه در سطر اول، ستون چهارم
حال فرض کنید میخواهید مقداردهی خانههای آرایه را با ورودی کاربر انجام دهید، به همین منظور با توجه به توضیحاتی که در پست حلقههای تکرار داده شده، میبایست از حلقه for یا foreach استفاده کنیم.
صورت سوال: برنامهای بنویسید تا شکل زیر را ترسیم کند:
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
تصویر فوق یک ماتریس با ۵ سطر و ۵ ستون بوده که هر کجا شماره اَندیس سطر و ستون با یکدیگر برابر هستند، عدد ۱ درج شده و در غیر اینصورت عدد ۰ درج میگردد!
برای مقداردهی آرایههای دو بعدی، نیاز به دو حلقه تو در تو داریم:
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
if (i==j)
{
Console.Write("1 ");
}
else
{
Console.Write("0 ");
}
}
Console.WriteLine();
}
در مثال فوق از دو حلقه تو در تو استفاده کردیم، چرا که باید با استفاده از حلقه اول بر روی سطرها و با استفاده از حلقه دوم بر روی ستونهای آن سطر حرکت کنیم.
جهت شرکت در دورههای زبان برنامه نویسی سیشارپ، از کد تخفیف heplc30 استفاده کنید.