עבור לתוכן

עזרה עם רשימה דו כיוונית

Featured Replies

פורסם

שלום לכולם

נתבקשתי לבנות פונקציה בC אשר קולטת מספרים אך לא מחזיקה אותם ברשימה וממיינת אותם תוך כדי, יש למישהו רעיון או כיוון, כל מה שניסיתי לא הולך.

פורסם

מה הקשר לכותרת?

האיסור על רשימה תקף גם למערכים?

פורסם
  • מחבר

הכותרת אומרת שזה צריך להיות בנוי ע"י רשימה דו כיוונית, וזה צריך להיות רשימה מקושרת של מספרים שניקלטים ומסודרים לפי ההפרש בינהם

כלומר אם אני מקליד 86 79 77 54 45 32 אז הרשימה תחזיק אותם כהפרש (כמובן אחרי מיון מהקטן לגדול) ותציג רק את המספר הראשון כי ההפרש מאפס זה הוא עצמו ולאחריו יופיעו ההפרשים של שאר המספרים והרשימה תיראה כך 7 2 23 9 13 32 יש להחזיק רק רשימת הפרשים,אין לשמור את קבוצת המספרים עצמם

פורסם

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

פורסם
  • מחבר

זה שינה לי לא כתבתי את כל זה

בכל מקרה אני לא יודע איך לעשות רשימה שלא מחזיקה מספרים שהיא מקבלת אלה רק מטפלת בהם, אני מקליד נגיד 5 מספרים והיא לא מחזיקה אותם אלה רק מטפלת בהם ואת התוצאה של הטיפול שזה מספר היא כן מחזיקה ברשימה

פורסם

אולי הרעיון הוא שאתה לא קולט את כל הקלט בפעם אחת, אלא מספר אחד כל פעם ומטפל בו ואז קולט את הבא בתור?

פורסם
  • מחבר

כנראה, הנה הניסוח של השאלה, אולי אני לא מבין טוב:

רשימת הפרשים הינה רשימה מקושרת של קבוצה ממוינת של מספרים שלמים שלמעט הראשון המספרים מיוצגים לא כפשוטם אלא ההפרש מהקודם להם ברשימה.

לדוגמא,קבוצת המספרים :

86 79 77 54 45 32

תיוצג ברשימה כ-

7 2 23 9 13 32

בתרגיל זה יהיה עליך לממש רשימת הפרשים עבור קבוצת הספרים ממוינת תוך תמיכה בפעולות של הכנסה ממוינת,הגדלה או הקטנה של הערך הקיים.לשם כך הרשימה צריכה להיות רשימה דו-כיוונית. שימו לב!יש להחזיק רק רשימת הפרשים,אין לשמור את קבוצת המספרים עצמם!!!

פורסם

אוקיי, אז מה הבעייה? תתחיל במימוש של רשימה מקושרת דו כיוונית.

אתה מכניס את האיבר הראשון לרשימה ואז כל איבר הבא שאתה מכניס הוא המספר שאתה מקבל פחות (האיבר הקודם + האיבר הראשון)

פורסם
  • מחבר

אחלה תודה אני אנסה, לא חשבתי על זה

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים