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

חיפוש בינארי

מאתגר C#

המשימה

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

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

דוגמאות עבור [1, 3, 5, 7, 9]:
  5   →  2
  1   →  0
  4   →  -1

הנחיות:
• אסור לעבור על המערך בלולאה רגילה מההתחלה לסוף.

```ds:array
{"title":"המערך הממוין — האינדקס שמתחת לכל תא הוא מה שמוחזר","items":["1","3","5","7","9"]}
```

קוד הפתיחה

using System;

class Program {

    static int BinarySearch(int[] arr, int target) {
        // כתוב את הפתרון כאן
        return -1;
    }

    static void Main() {
        int[] a = {1, 3, 5, 7, 9};
        Console.WriteLine(BinarySearch(a, 5));   // 2
        Console.WriteLine(BinarySearch(a, 1));   // 0
        Console.WriteLine(BinarySearch(a, 9));   // 4
        Console.WriteLine(BinarySearch(a, 4));   // -1
    }
}

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

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