לולאות מקוננות עם מערכים דו־ממדיים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C# של Coddy. שיעור 4 מתוך 66.
בעבודה עם מערכים דו־ממדיים (מערכים משוננים) ב-C#, אנחנו משתמשים לעיתים קרובות בלולאות מקוננות כדי לעבור על כל שורה וכל עמודה, וכך לגשת לכל איבר במערך או לשנות אותו.
הנה מבנה טיפוסי של לולאות מקוננות עבור מערך דו־ממדי ב־C#:
for (int i = 0; i < array.Length; i++) {
// הלולאה החיצונית עוברת על השורות
for (int j = 0; j < array[i].Length; j++) {
// הלולאה הפנימית עוברת על העמודות
// גשו אל array[i][j] או שנו אותו
}
}הלולאה החיצונית עוברת על השורות, והלולאה הפנימית עוברת על העמודות של כל שורה. כך אפשר לגשת לכל איבר במערך הדו־ממדי באמצעות array[i][j].
אתגר
קלprintMatrix שמקבלת כארגומנט מערך דו־ממדי (מערך משונן) של מספרים שלמים ומדפיסה את האיברים שלו בפורמט של מטריצה. השתמש בלולאות מקוננות כדי לעבור על השורות והעמודות של המערך.הדפס כל איבר ואחריו רווח (כולל האיבר האחרון בכל שורה), ולאחר מכן הדפס שורה חדשה אחרי כל שורה. לדוגמה, עבור השורה
[1, 2, 3], הפלט צריך להיות 1 2 3 (עם רווח בסוף), ואחריו שורה חדשה.נסו בעצמכם
// כתבו את הקוד שלכם רק בתוך המחלקה. אל תכתבו Main() או קוד כלשהו מחוץ למחלקה זו.
using System;
class PrintMatrix
{
public static void printMatrix(int[][] matrix)
{
// כתבו את הקוד שלכם כאן
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםהכרזה ואתחול של מערכים דו־ממדייםגישה לאיברי מערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםמערכים משונניםפעולות מטריצה נפוצותחזרה – מערכים רב־ממדיים7אופרטורים לוגיים מתקדמים
הערכה בקיצור דרךאופרטורים לוגיים מותניםקדימות אופרטוריםסיכום – אופרטורים מתקדמים2קבלת החלטות מתקדמת
תנאים מרוביםלוגיקה בוליאנית מורכבתהשוואה בין If ל-Switchהצהרות Switch מקוננותסיכום — קבלת החלטות מתקדמת5טיפול בחריגות
יסודות try-catchסוגי חריגותבלוקי catch מרוביםעבודה עם קבציםבלוק finallyשימוש ב-using לעומת try-finallyחריגות מותאמות אישיתסיכום – טיפול בשגיאות3שיפורים בלולאות
ביצועי לולאותאיטרציה במבנים מורכביםכל אחד מסוגי הלולאותרפקטורינג של לולאותסיכום – לולאות שעברו אופטימיזציה6טיפול בערכי Null
יסודות הפניה ל-Nullטיפוסי ערכים שניתנים ל-Nullדפוסי בדיקת Nullתכנות הגנתיסיכום – בטיחות מול Nullתרגלו בעצמכם: קומפיילר C# אונליין