נתונה הפעולה What המקבלת מערך של מספרים שלמים חיוביים arr ופרמטר נוסף exp. הפרמטר exp יכול לקבל ערכים שהם חזקות של 10 (כגון 1, 10, 100, 1000...).
נתונה הפעולה What המקבלת מערך של מספרים שלמים חיוביים arr ופרמטר נוסף exp. הפרמטר exp יכול לקבל ערכים שהם חזקות של 10 (כגון 1, 10, 100, 1000...).
public static int[] What(int[] arr, int exp) {
int n = arr.Length;
int[] output = new int[n];
int[] count = new int[10];
for (int i = 0; i < n; i++) {
int digit = (arr[i] / exp) % 10;
count[digit]++;
}
// ***** סיום שלב 1 *****
for (int i = 1; i < 10; i++) {
count[i] += count[i - 1];
}
// ***** סיום שלב 2 *****
for (int i = n - 1; i >= 0; i--) {
int digit = (arr[i] / exp) % 10;
output[count[digit] - 1] = arr[i];
count[digit]--;
}
// ***** סיום שלב 3 *****
return output;
}
סעיף א
נתון מערך int[] arr = {23, 15, 9, 71, 25}
עקבו אחרי זימון הפעולה int[] out1 = What(arr, 1) ורשמו מה יהיה תוכן המערך out1 אחרי זימון הפעולה.
יש להראות את תוכן המערך count אחרי סיום של כל אחד מהשלבים 1–3.
סעיף ב
נתון מערך int[] arr = {23, 15, 9, 71, 25}
עקבו אחרי זימון הפעולה int[] out2 = What(arr, 10) ורשמו מה יהיה תוכן המערך out2 אחרי זימון הפעולה.
סעיף ג
מה מבצעת הפעולה What באופן כללי?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.