Menu
Coddy logo textTech

יסודות מערכים דו־ממדיים

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C# של Coddy. שיעור 1 מתוך 66.

ב־C#, מערך משונן הוא מערך של מערכים, היוצר מבנה דמוי רשת או מטריצה. הוא כמו טבלה עם שורות ועמודות, שבה כל תא יכול להכיל ערך. מערכים משוננים שימושיים לייצוג נתונים שיש להם קשר דו־ממדי, כמו לוח שחמט, תרשים מקומות ישיבה או משחק המבוסס על רשת.

כך מצהירים על מערך מדורג ומאתחלים אותו ב-C#:

data_type[][] arrayName = new dataType[numberOfRows][];

dataType: סוג האיברים שהמערך יכיל (למשל, int, string וכו׳).

arrayName: השם שנותנים למערך.

numberOfRows: מספר השורות במערך.

לאחר מכן יש לאתחל כל שורה בנפרד:

arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];
// וכן הלאה...

לדוגמה, כדי ליצור מערך משונן של מספרים שלמים עם 3 שורות, כאשר בכל שורה יש 4 עמודות, תכתבו:

int[][] matrix = new int[3][];
matrix[0] = new int[4];
matrix[1] = new int[4];
matrix[2] = new int[4];

אפשר גם לאתחל מערך משונן ישירות עם ערכים:

int[][] matrix = new int[][] {
    new int[] {1, 2, 3},
    new int[] {4, 5, 6},
    new int[] {7, 8, 9}
};

הערה: הפלטפורמה הזו משתמשת במהדר שקדם ל־C# 12. תחביר הביטוי המקוצר לאתחול אוספים, שהוצג ב־C# 12 (למשל, int[][] matrix = [[1, 2], [3, 4]];), אינו נתמך כאן. השתמש בתחביר האתחול המסורתי new int[][] { ... } שמוצג למעלה.

challenge icon

אתגר

קל

אתחלו מערך משונן עם הערכים הבאים:

5, 7, 10, 24, 41
86, 13, 683, 64, 13
42, 46, 791, 111, 9
86, 88, 1845, 5, 15897
9, 1, 5, 5, 6

עליכם לאתחל את המערך המשונן כראוי עם הערכים המדויקים האלה ולוודא שהתוכנית מדפיסה את המטריצה כראוי.

הערה: הפלטפורמה הזו משתמשת במהדר שקדם ל-C# 12. תחביר ביטויי האוסף של C# 12 (למשל, int[][] matrix = [[1, 2], [3, 4]];) אינו נתמך. השתמשו במקום זאת בתחביר האתחול המסורתי:
int[][] matrix = new int[][] { new int[] {1, 2}, new int[] {3, 4} };

נסו בעצמכם

using System;

class Program
{
    static void Main(string[] args)
    {
        int[][] matrix = {
            // כתבו כאן את הקוד שלכם
        };
        
        // הדפיסו את המטריצה
        int rows = matrix.Length;
        
        for (int i = 0; i < rows; i++)
        {
            int cols = matrix[i].Length;
            for (int j = 0; j < cols; j++)
            {
                Console.Write(matrix[i][j] + " ");
            }
            Console.WriteLine();
        }
    }
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר C# אונליין