יום ראשון, 15 בינואר 2017

שפת C - עבודה עם רשימות מקושרת שמכילות גם מצביעים לרשימות אחרות (יום ראשון)

עבודה מורכבת עם רשימות מקושרות

נוכל להגדיר שאיברי רשימה מקושרת מכילים גם מצביע ל head של רשימה מקושרת אחרת.
כך למעשה ניצור דבר הדומה למערכים דו ממדיים, רק בצורה דינאמית ומקושרת (לא רציפה בזיכרון).

התרגיל היום זה ליצור פונקציה שיוצרת רשימה מקושרת של סטודנטים    ( ) CreateStudentList
ופונקציה שיוצרת רשימה מקושרת של קורסים    ( ) CreateCourseList

כל סטודנט מכיל את השדות הבאים:
שם סטודנט
גיל
תעודת זהות (ID)
מערך של ציונים בקורס הנוכחי (עדיף מערך דינאמי אבל אפשר להסתפק במצב קבוע של בדיוק 4 מבחנים במערך)

כל קורס מכיל את השדות הבאים:
שם הקורס
ממוצע ציונים (של כל הסטודנטים שלומדים בקורס)
מצביע לראש (= head) רשימה מקושרת של כל הסטודנטים שלומדים בקורס   (sh)
next לקורס הבא



הפונקציה ( ) CreateCourseList יוצרת מערך של קורסים וגם משתמשת בפונקציה ( ) CreateStudentList
כדי ליצור רשימה מקושרת של סטודנטים עבור כל קורס וקורס.





הנה הפונקציות: (בנו אותן לבד!)



..........



עכשיו נמשיך:

1. כתבו פונקציה שמדפיסה את כל הנתונים. (קורסים ו סטודנטים).
2. כתבו פונקציה שתמצא ותדפיס את הפרטים של הסטודנט הכי טוב בכל קורס בנפרד.
3. פונקציה שמקבלת שם של קורס, ומדפיסה שמות התלמידים שנכשלו (ממוצע פחות מ 55) באותו קורס.



פתרונות:
(בתוספת תיקונים לפונקציות הקודמות)



.....
יש לציין שהן הפונקציות למעלה והן הפתרונות האלו לא נלמדו במהלך השיעור.










אין תגובות:

הוסף רשומת תגובה