נתונות ארבע פעולות:

public static double one(int num)
{
    return two(num, 0, 0);
}

private static double two(int num, int s, int c)
{
    if (num == 0) return (double)s / c;
    return two(num / 10, s + (num % 10), c + 1);
}

public static int[] three(int[] arr, int p)
{
    int n = arr.length;
    int[] temp = new int[n];
    four(arr, temp, 0, 0, n - 1, p);
    return temp;
}

private static void four(int[] arr, int[] temp, int k, int left, int right, int p)
{
    if (k < arr.length)
    {
        if (one(arr[k]) > one(arr[p]))
        {
            temp[right] = arr[k];
            four(arr, temp, k + 1, left, right - 1, p);
        }
        else
        {
            temp[left] = arr[k];
            four(arr, temp, k + 1, left + 1, right, p);
        }
    }
}
(א)1. עקבו אחרי זימון הפעולה `one(6123)` ורשמו את תוצאת הזימון. יש להראות מעקב!
2. תנו דוגמה של מספר שלם וחיובי גדול מ-100 שעבורו הפעולה תחזיר ערך חמש.
3. מה מבצעת הפעולה `one(num)` עבור מספר שלם num?
(ב)נתון המערך `int[] a = {126, 9, 35, 2684, 8941, 24}`
1. עקבו אחרי זימון הפעולה `three(a, 3)` ורשמו מה תהיה תוצאת הזימון.
יש להראות מעקב אחרי ביצוע הפעולה three, אין צורך להראות מעקב אחרי הפעולות one ו-two.
2. האם קיים ערך p שעבורו זימון הפעולה `three(a, p)` יגרום לשגיאה? הסבירו את תשובתכם.
3. תנו דוגמה של מערך arr בגודל שישה תאים כך שזימון הפעולה `three(arr, p)` יחזיר מערך זהה ל-arr עבור כל ערך p תקין. אם הדבר אינו אפשרי, הסבירו מדוע.
4. מה מבצעת הפעולה `three(a, p)` עבור מערך של מספרים שלמים arr וערך שלם p?

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

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

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

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

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

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

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