כתבו פונ' המקבלת באמצעות פרמטר מסוג * void מערך בן N תאים, ובאמצעות פרמטר נוסף את טיפוסו של המערך.
אם המערך שהועבר לה כולל מספרים שלמים (int) או רציונאליים (double) אזי הפונ' תציג את סכום הערכים במערך. בכל מקרה אחר היא תציג פלט שאומר שלא ניתן לסכום את המערך.
זמנו את הפונ' עם מערך של שלמים, של double, ושל מבנים מטיפוס struct Point.
כתבו תכנית המגדריה שלושה מערכים בני N תאים: האחד של שלמים, השני של double, והשלישי של struct Point.
קראו נתונים למערכים (או אתחלו אותם בהגדרה, לפי נוחותכם).
זמנו את הפונ' הבאה, עבור כל אחד משלושת המערכים, והציגו את המידע בתא שמצביע אליו הפונ' מחזירה:
כתבו פונ' אשר מקבלת באמצעות מצביע מטיפוס * void מערך.
בנוסף לכך, הפונ' מקבלת באמצעות פרמטרים נוספים פונ' עזר נוספות:
(א) פונ' אשר מאפשרת לה לגשת לתא רצוי במערך.
(ב) פונ' אשר מקבלת תא במערך ומחזירה ערך מטיפוס double המסכם את המידע השמור בתא זה (כפי שיתואר בהמשך, ומאפשר להשוות בין תאי המערך).
הפונ' תחשב ותחזיר באמצעות משתנה מטיפוס * void מצביע לתא במערך שמכיל את הערך 'המיטבי' במערך.
במערך של double זה יהיה הערך הגדול ביותר.
במערך של שלמים זה יהיה הערך שערכו המוחלט הוא הגדול ביותר.
במערך של נקודות (מטיפוס struct Point) זו תהיה הנקודה הרחוקה ביותר מראשית הצירים
במערך של מבנים מטיפוס struct Stud זה יהיה התלמיד שממוצע הציונים שלו (כפי ששמור בחבר [N]int _grades ב: struct) הוא הגדול ביותר
אציג שתי גרסות שונות של משימה זאת: גרסה ראשונה קלה יותר להבנה, וכללית פחות (כפי שאסביר, פונ' המיון בה אינה 'קופסה שחורה'); וגרסה שניה, כללית יותר, וקשה יותר להבנה (ובה, פונ' המיון תהווה 'קופסה שחורה')
כתבו תכנית המגדירה:
struct Name {
char _first[MAX_STR_LEN], _last[MAX_STR_LEN] ;
} ;
במבנה מסוג struct Name נוכל לשמור שם פרטי ושם משפחה של אדם.
struct Course {
char _course_name[MAX_STR_LEN] ;
unsigned int _course_code ;
} ;
במבנה מסוג struct Course נוכל לשמור מידע אודות קורסים: שמם, וקוד הקורס.
הגדירו שני מערכים בני N תאים של שמות ושל קורסים, והכניסו להם נתונים (ע"י קלט מהמשתמש, או ע"י אתחול בהגדרה).
א. מיינו והציגו את מערך השמות בסדר עולה של שם משפחה + שם פרטי.
ב. מיינו והציגו את מערך השמות בסדר יורד של שם פרטי + שם משפחה.
ג. מיינו והציגו את מערך השמות בסדר עולה של שם הקורס.
שוחרי האתגרים מוזמנים למיין את המערך באמצעות מיון מהיר.
בסעיף זה אציג בניה של רשימה מקושרת ממוינת שעשויה להכיל נתוני תלמידים, ועשויה להכיל נתוני קורסים, ובאופן דומה, עשויה להכיל נתונים אחרים. כל רשימה בודדת תכיל רק מבנים (קופסות) מטיפוס יחיד, אך בעזרת הפונ' שאציג נוכל לכנות רשימות (נפרדות) שיכילו נתונים שונים.