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

מיזוג שני מערכים ממוינים

מאתגר C#

המשימה

נתונים שני מערכים ממוינים בסדר עולה.

כתוב פעולה שמחזירה מערך חדש שמכיל את כל האיברים של שניהם, ממוין
בסדר עולה.

דוגמה:
  [1, 4, 9] ו-[2, 3, 10]  →  [1, 2, 3, 4, 9, 10]

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

```ds:array
{"title":"מערך א","items":["1","4","9"]}
```

```ds:array
{"title":"מערך ב","items":["2","3","10"]}
```

```ds:array
{"title":"התוצאה","items":["1","2","3","4","9","10"]}
```

קוד הפתיחה

using System;

class Program {

    static int[] Merge(int[] a, int[] b) {
        // כתוב את הפתרון כאן — מעבר אחד על כל מערך
        return new int[0];
    }

    static void Print(int[] arr) {
        string line = "";
        for (int i = 0; i < arr.Length; i++) line = line + arr[i] + " ";
        Console.WriteLine(line.Trim());
    }

    static void Main() {
        Print(Merge(new int[]{1, 4, 9}, new int[]{2, 3, 10}));   // 1 2 3 4 9 10
        Print(Merge(new int[]{}, new int[]{5, 6}));              // 5 6
        Print(Merge(new int[]{1, 2}, new int[]{}));              // 1 2
        Print(Merge(new int[]{2, 2}, new int[]{2}));             // 2 2 2
    }
}

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

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