תרגול מדעי המחשב

סכום המסגרת

בינוני C#

המשימה

כתוב פעולה שמקבלת מטריצה של מספרים שלמים ומחזירה את סכום התאים
שעל המסגרת החיצונית שלה — השורה הראשונה, השורה האחרונה, העמודה
הראשונה והעמודה האחרונה.

כל תא נספר **פעם אחת בלבד**, גם אם הוא שייך לשתי צלעות.

דוגמאות:
  {{1,2,3},
   {4,5,6},     →  40     (הכול חוץ מ-5)
   {7,8,9}}

  {{1,2},
   {3,4}}       →  10     (הכול על המסגרת)

  {{5}}         →  5      (תא יחיד)

  {{1,2,3,4}}   →  10     (שורה אחת — כולה מסגרת)

הנחיות:
• הדרך הפשוטה היא לעבור על כל התאים ולהחליט לכל אחד אם הוא על המסגרת.
  תא נמצא על המסגרת אם מספר השורה שלו הוא הראשון או האחרון, או שמספר
  העמודה שלו הוא הראשון או האחרון.
• הדרך השנייה — לחבר ארבע צלעות בנפרד — קצרה יותר אבל סופרת את ארבע
  הפינות פעמיים. אם בחרת בה, תצטרך לחסר אותן.
• מטריצה בשורה אחת או בעמודה אחת היא כולה מסגרת. בדוק את המקרה הזה,
  כי שתי הדרכים נכשלות עליו אם לא חשבו עליו.
• המימדים נלקחים מהמטריצה עצמה.

קוד הפתיחה

using System;

class Program {

    static int BorderSum(int[,] m) {
        // כתוב את הפתרון כאן
        return 0;
    }

    static void Main() {
        int[,] a = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
        Console.WriteLine(BorderSum(a));       // 40

        int[,] b = { {1, 2}, {3, 4} };
        Console.WriteLine(BorderSum(b));       // 10

        int[,] c = { {5} };
        Console.WriteLine(BorderSum(c));       // 5

        int[,] d = { {1, 2, 3, 4} };
        Console.WriteLine(BorderSum(d));       // 10
    }
}

כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.

התרגיל הבא מעקב אחרי שתי לולאות מקוננות
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון — כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות בדיקה חיצוני.