1- נתונים 2 מצביעים, וצריך לממש פונקציה שתחליף בין המצביעים. המצביעים הם מסוג void * וככה בעצם זה מממש פונקציית החלפה לכל סוג של משתנה.
void *a,*b;
swap (_______,_______)
צריך היה לקבוע מה לשלוח לפונקציה ומה תהיה החתימה של הפונקציה עצמה, ולממש את הפונקציה עצמה.
2-
נתון עץ וצריך לממש Node. אח"כ צריך לממש פונקציה שבודקת מה גובה העץ.
לבסוף היה צריך להגיד מה הסיבוכיות מבחינת זמן ומבחינת זכרון.
3- נתונה פונקציה שמקבלת מצביעים לשם פרטי ושם משפחה. היא מגדירה בתוכה באפר באורך 100 ומכניסה את השמות לבאפר בעזרת :
sprintf(buff,"%s %s",first,last);
ומחזירה את הבאפר
return (buff);
להגיד מה הבעיות בתוכנה ואיך אפשר לתקן אותן.
תשובות
הוסף תשובה
|
לצפיה בתשובות
אוגוסט 2020
היי יש לי ראיון בזום שבוע הבא. אשמח לדעת האם הראיון הראשוני הוא זה שכולל את כל השאלות הללו? כמה זמן לוקח הראיון הזה? זה ראיון של 10-15 דק או ראיון של שעה+.
ראשונה:
מיון של מערך עם פונקציה אחת בלבד בשם reverse. הדבר היחד שמותר לעשות על המערך זה לעבור עליו ולא לשנות כלום, כדי לשנות מותר רק להשתמש בפונקציה.
הפונקציה תקבל מערך ואינדקס, ועושה היפוך לכל האיברים מאותו אינדקס ועד סוף המערך.
שאלה שנייה:
מעבר על עץ לא בינארי שצריך להעתיק את כל העץ לתוך מערך, ההעתקה תתבצע לפי שורות (קודם שורה ראשונה, אח"כ כל השנייה וכו').
תשובות
הוסף תשובה
|
לצפיה בתשובות
מאי 2020
התשובה לשאלה היא לעשות איטרציה שבכל אחת יש פעמיים reverse.
התשובה לשאלה השנייה היא לעשות את זה דרך queue.
אוקטובר 2020
לא הבנתי את השימוש בפונקציה reverse.
אפשר לשלוח כל פעם חלק מהמערך לפונקציה הזאת?
פברואר 2021
בכל איטרציה: למצוא את המספר הכי קטן ואז לעשות reverse ממנו עד הסוף (ככה שהוא יופיע בתור האיבר האחרון) ואז לעשות עוד פעם reverse, כדי לשים אותו במקום הנכון.
1.לממש פונקציה swap
2.למצוא בעיות בקוד,למשל החזרה של הפונקציה למערך שהיה משתנה לוקאלי ולכן נמחק .
3. לממש בחלקים על מציאת גובה עץ.
4. תיקון shallow ->deep copy
בעיקר שאלות על זיכרון ,pointers וref