נתונות הפעולות הבאות: What ו-Secret, ושתי פעולות העזר Why ו-Mystery.

public static void Secret(int[] a, int s) {
    s %= a.Length;
    Mystery(a, 0, a.Length - 1);
    Mystery(a, 0, s - 1);
    Mystery(a, s, a.Length - 1);
}

public static void Mystery(int[] a, int start, int end) {
    int temp;
    while (start < end) {
        temp = a[start];
        a[start] = a[end];
        a[end] = temp;
        start++;
        end--;
    }
}

public static void What(int[] a, int d) {
    Why(a, d, 0);
}

public static void Why(int[] a, int d, int i) {
    if (i < a.Length) {
        int j = (i + d) % a.Length;
        int rest = a[j];
        Why(a, d, i + 1);
        a[i] = rest;
    }
}

נתון מערך arr של מספרים שלמים:

אינדקס0123456
ערך103682115
(א)עקבו אחרי זימון הפעולה `Mystery(arr, 1, 4)` ורשמו מה יהיה תוכן המערך אחרי הזימון.
(ב)עקבו אחרי זימון הפעולה `Secret(arr, 3)` ורשמו מה יהיה תוכן המערך אחרי הזימון.
(ג)מה מבצעת הפעולה `Secret(a, d)` עבור מערך של מספרים שלמים a ומספר שלם וחיובי d?
(ד)עקבו אחרי זימון הפעולה `What(arr, 3)` ורשמו מה יהיה תוכן המערך אחרי הזימון.
יש להראות ערכי המשתנים בכל זימון רקורסיבי.
(ה)אחרי זימון הפעולה `What(brr, 2)` יתקבל המערך brr הזה:

| אינדקס | 0 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|---|
| ערך | 10 | 20 | 30 | 40 | 50 | 60 |

מה היה תוכן המערך brr לפני זימון הפעולה?
(ו)מה מבצעת הפעולה `What(a, d)` עבור מערך של מספרים שלמים a ומספר שלם וחיובי d?

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה בטיחות מוסמך עונה כאן — תקבלו מענה מקצועי

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←