יום שני, 11 במרץ 2013

מטריצות


מערכים דו מימדים
הקצאת מערך דו מימדי:
טיפוס[,] שם_המערך=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("");
            }
הפלט יראה כך:

תגובה 1:

  1. 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!

    השבמחק