אתם מתרגלים שאלה מתוך מה"ט אלגוריתמיקה ותכנות — הנדסאי תוכנהמבחן 2021 · קיץ מועד א · שאלה 10כל שאלות המבחן ←
תכנות בסיסימערכים חד-ממדיים

נתונות שתי הפעולות הבאות:

public static void What(int[] arr, int a, int b) {
    int temp = arr[a];
    arr[a] = arr[b];
    arr[b] = temp;
}

public static void Something(int[] arr) {
    int a = 0, b = 0, k = arr.Length-1;
    while (b <= k)
    {
        if (arr[b] % 3 == 0)
        {
            What(arr, a, b);
            a++;
            b++;
        }
        else if (arr[b] % 3 == 1)
        {
            b++;
        }
        else
        {
            What(arr, b, k);
            k--;
        }
    }
}
סעיף א

נתון מערך a={1,3,2,6,10}. איך ייראה המערך אחרי הזימון what(a, 0, a.length-1)?

סעיף ב

עקבו באמצעות טבלת מעקב אחר ביצוע something(arr) עבור המערך int[] arr={1,3,4,2,8,12,7,6}; רשמו מה יהיו הערכים של המערך arr אחרי הזימון. הערה: אין צורך להראות מעקב אחרי הזימונים של הפעולה what.

סעיף ג

האם קיים מערך arr של שמונה מספרים שלמים חיוביים שונים זה מזה שלא ישתנה אחרי הזימון something(arr)? אם כן — הביאו דוגמה למערך כזה, אם לא — הסבירו למה.

סעיף ד

מה מבצעת הפעולה something(arr) עבור מערך כלשהו של מספרים שלמים וחיוביים?

שאלות ותגובות על השאלה

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

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

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