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

סעיף א

נתונה הפעולה Why המקבלת מערך של מספרים שלמים:

public static void Why (int[] arr){
    int[] temp = new int[arr.Length];
    int k = 0;
    for (int i = 0; i < arr.Length; i++)
        if (arr[i] < 0)
            temp[k++] = arr[i];
    for (int i = 0; i < arr.Length; i++)
        if (arr[i] >= 0)
            temp[k++] = arr[i];
    for (int i = 0; i < arr.Length; i++)
        arr[i] = temp[i];
}
  1. נתון מערך int[] arr = {12, 0, -344, -46, 670, 0};. מה יהיה תוכן המערך אחרי זימון הפעולה Why(arr)?
  2. מה מבצעת הפעולה Why באופן כללי?
סעיף ב

נתונה הפעולה What המקבלת מערך מספרים שלמים:

public static void What (int[] arr){
    int start = 0;
    int end = arr.Length - 1;
    while (start < end)
    {
        if (arr[start] > 0)
            start ++;
        else if (arr[end] >= 0)
            end --;
        else
        {
            int temp = arr[end];
            arr[end] = arr[start];
            arr[start] = temp;
        }
    }
}
  1. נתון מערך int[] arr = {123, -45, -678, 12, -345, 67};. מה יהיה תוכן המערך אחרי זימון הפעולה What(arr)?
  2. תנו דוגמה למערך brr בגודל של חמישה תאים, כך התוכן של המערך לא ישתנה אחרי ביצוע הפעולה what(brr).
  3. מה מבצעת הפעולה What באופן כללי?
סעיף ג

האם קיים מערך crr בגודל של שישה תאים, שעבורו שני זימונים Why(crr) ו-What(crr) יביאו לאותן תוצאות? אם כן – תנו דוגמה של המערך crr, אם לא – הסבר למה.

סעיף ד

מה הן סיבוכיות זמן הריצה של הפעולות What ו-Why?

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

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

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

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