מערכים דו מימדים
הקצאת מערך דו מימדי:
טיפוס[,] שם_המערך=new טיפוס[גודל שורה,גודל עמודה];
לדוגמה:
מטריצה בעלת 4 שורות ו10 עמודות מטיפוס תו.
char[,] matrix=new char[4,10];
כך יווצר למעשה 4X10 איברים מטיפוס תו.
אינדקס איברי המערך ,בדומה למערך החד מימדי, מתחילים מ0.
כך תראה המטריצה:
9
|
8
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
|
|
|
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
|
|
|
|
1
|
|
|
|
|
|
|
|
|
|
|
2
|
|
|
|
|
|
|
|
|
|
|
3
|
כתיבה למערך תתבצע באמצעות ציון השורה והעמודה שאליה נרצה לכתוב
ושימוש באופרטור =
שם_מערך[אינדקס שורה,אינדקס עמודה]=ערך_המתאים_לטיפוס_המערך
לדוגמה אם נרצה לכתוב לשורה 2 עמודה 1 את התו '!' , ולשורה 3 עמודה 6 את התו 'x' נעשה זאת כך:
matrix[2,1]='!';
matrix[3,6]='x';
והמטריצה תראה כך לאחר השינוי:
9
|
8
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
|
|
|
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
|
|
|
|
1
|
|
|
|
|
|
|
|
|
'!'
|
|
2
|
|
|
|
'x'
|
|
|
|
|
|
|
3
|
קריאה מהמערך תכתב כך:
שם_מערך[אינדקס שורה,אינדקס עמודה];
לדוגמה: אם ברצוננו לקרוא את הערך של שורה 3 עמודה 6 נעשה זאת כך:
matrix[3,6];
וזה יחזיר את התו 'x' במקרה הזה.
לקבלת גודל המטריצה נשתמש בפעולה GetLength ונשלח את הפרמטר 0 על מנת לשלוף את גודל
השורות, ו1 על מנת לשלוף את גודל העמודות.
שם_מערך.GetLength(0); יחזיר את גודל
השורות
שם_מערך.GetLength(1); יחזיר את
גודל העמודות
לדוגמה:
matrix.GetLength(0); יחזיר
לנו את מספר השורות, במקרה הזה 4
matrix.GetLength(1); יחזיר
לנו את מספר העמודות, במקרה הזה 10
לולאות ומערך דו מימדי
אם נרצה לדוגמה שהמטריצה תכיל את כל ה30 תווים החל מ'a' נעשה זאת כך:
char[,] matrix=new char[5,6];
char a = 'a';
for (int i = 0; i < matrix.GetLength(0); i++)
{
for (int j = 0; j < matrix.GetLength(1); j++)
{
matrix[i, j] = a;
a++;
Console.Write(matrix[i, j]+"\t");
}
Console.WriteLine("");
}
הפלט יראה כך:
Hotels near Casino Casino, Harrah's Hotel and Spa
השבמחקThe cheapest way to get from Casino, Harrah's Hotel and Spa costs only 목포 출장샵 $9, 논산 출장안마 and the quickest 서울특별 출장샵 way 김천 출장샵 takes 대구광역 출장샵 just 3 mins. Find the travel option that best suits you!