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

"רמת הזוגיות" של מספר שלם וחיובי היא ההפרש בין סכום הספרות הזוגיות שלו לבין סכום הספרות האי-זוגיות. לדוגמה: "רמת הזוגיות" של 543 היא 4-. "רמת הזוגיות" של 4637 היא 0. "רמת הזוגיות" של 83 היא 5. מערך arr1 נקרא "תת-מערך לפי רמות הזוגיות" של מערך arr2 אם עבור כל מספר ב-arr1 קיים ב-arr2 מספר בעל אותה "רמת זוגיות".

סעיף א

כתבו פעולה המקבלת כפרמטר מספר שלם חיובי ומחזירה את "רמת הזוגיות" שלו.

public static int EvennessLevel(int num)

סעיף ב

כתבו פעולה המקבלת שני מערכים של מספרים שלמים וחיוביים arr1 ו-arr2. הפעולה תחזיר true, אם המערך arr1 הוא "תת-מערך לפי רמות הזוגיות" של המערך arr2, ולא — הפעולה תחזיר false.

public static bool IsEvennessSubarray(int[] arr1, int[] arr2)

סעיף ג

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

public static int[] EvennessArray(int[] arr)

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

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

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

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