נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: עזרה בכתיבת פונקצייה בנושא רשימות מקושרות

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
גיל
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 22 January 2005 בשעה 16:27 | IP רשוּם
ציטוט גיל

שלום,

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

1)כתוב פונקצייה שמדפיסה את האיברים ברשימה מקושרת מהסוף להתחלה(כותב הספר ביקש לכתוב אותה בצורה רקורסיבית
2)כתוב פונקצייה אפשר הופכת רשימה מקושרת.
כלומר לאחר הקריאה של הפונקצייה האיבר הראשון יהפוך להיות האיבר האחרון והראשון אחרון.
כתוב את הפונקצייה כך שיהיה מעבר אדח על הרשימה ולא יהיו הקצאות זיכרון נוספות או בנייה של רשימה זמנית.

תודה מראש למי שיצליח לעזור לי

גיל

חזרה לתחילת העמוד הצג את כרטיס החבר של גיל חפש הודעות אחרות של גיל בקר בדף הבית של גיל
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 22 January 2005 בשעה 16:43 | IP רשוּם
ציטוט ניר

אוקיי, לא ברור בדיוק איזה מימוש של רשימה מקושרת יש לך.
אני מניח שיש לך רשימה מקושרת עם מצביע NEXT
ונגיד משתנה data מסוג int.

הקוד יכול להיות בפועל טיפה שונה, אבל זה הרעיון.
עבור שאלה 1:
קוד:
void printList(node* curNode)
{
    if (curNode == NULL) return;
    printList(curNode->next);
    printf("%d\n", curNode->data);
}


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

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 22 January 2005 בשעה 16:45 | IP רשוּם
ציטוט ניר

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 22 January 2005 בשעה 16:45 | IP רשוּם
ציטוט גיל

כן, התכוונתי לרשימה כזו, תודה רבה על העזרה

חזרה לתחילת העמוד הצג את כרטיס החבר של גיל חפש הודעות אחרות של גיל בקר בדף הבית של גיל
 
גיל
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 22 January 2005 בשעה 16:47 | IP רשוּם
ציטוט גיל

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

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 22 January 2005 בשעה 20:16 | IP רשוּם
ציטוט SBD

UW אחי הסבר על הקוד שהבאת פה ועל רשימות או מה שזה לא יהיה, תוכל לתת בבקשה?
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 22 January 2005 בשעה 20:29 | IP רשוּם
ציטוט ניר

http://underwar.livedns.co.il/document-details.asp?id=140
עמוד 32 והלאה.
לא מסמך שמיועד בדיוק למתחילים, אבל אולי יוכל לעזור לך להבין.
יכול להיות שמתישהו אני אכתוב מסמך על רשימות מקושרות למתחילים גם.

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

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 22 January 2005 בשעה 20:44 | IP רשוּם
ציטוט SBD


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

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

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