ציוני תלמידים שמורים בשני תורים: marks (כל הציונים ברצף) ו-tests (לכל תלמיד — כמה ציונים השלים). הדוגמה: תלמיד ראשון 80,90,100; שני 75,96; שלישי 100,100,97,96; רביעי 94,88 — ותוצאה צפויה 90.0, 85.5, 98.25, 91.0.
ציוני תלמידים שמורים בשני תורים: marks (כל הציונים ברצף) ו-tests (לכל תלמיד — כמה ציונים השלים). הדוגמה: תלמיד ראשון 80,90,100; שני 75,96; שלישי 100,100,97,96; רביעי 94,88 — ותוצאה צפויה 90.0, 85.5, 98.25, 91.0.
דוגמה: תור הציונים marks (18 ערכים, לפי סדר התלמידים) ותור הבחינות tests (4 ערכים: 3,2,4,2) — התור marks: 80,90,100, 75,96, 100,100,97,96, 94,88 (מחולק ל-4 קבוצות רצופות לפי tests); התוצאה הצפויה: 91.0, 85.5, 98.25, 91.0 (סדר לפי סדר התלמידים בתור tests).
marks (ראש→סוף): 80,90,100 | 75,96 | 100,100,97,96 | 94,88
tests (ראש→סוף): 3, 2, 4, 2
תוצאה (ראש→סוף): 90.0, 85.5, 98.25, 91.0
כתבו פעולה בשם averageQueue (Java) / AverageQueue (C#) המקבלת שני תורים ומחזירה תור חדש של ממוצעי ציונים של כל התלמידים יחד. עבור שני התורים שבדוגמה הפעולה תחזיר תור חדש המכיל את ממוצע הציונים של כל אחד מבין ארבעת התלמידים.
public static Queue<double> AverageQueue(Queue<int> marks, Queue<int> tests)
מהי סיבוכיות הפעולה שכתבתם בסעיף א'? הסבירו את תשובתכם.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.