נתונה הפעולה 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[] out1 = what(arr, 1)` ורשמו מה יהיה תוכן המערך out1 אחרי זימון הפעולה.
יש להראות את תוכן המערך count אחרי סיום של כל אחד מהשלבים 1–3.
(ב)נתון מערך `int[] arr = {23, 15, 9, 71, 25}`
עקבו אחרי זימון הפעולה `int[] out2 = what(arr, 10)` ורשמו מה יהיה תוכן המערך out2 אחרי זימון הפעולה.
עקבו אחרי זימון הפעולה `int[] out2 = what(arr, 10)` ורשמו מה יהיה תוכן המערך out2 אחרי זימון הפעולה.
(ג)מה מבצעת הפעולה what באופן כללי?
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות
שאלו כאן — ותקבלו מענה מוסמך.
רוצים לתרגל אלפי שאלות נוספות?
המשיכו לתרגול מלא עם משוב אישי ←מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות