רקורסיה ב C++ - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

רקורסיה ב C++


pringles

Recommended Posts

אני צריך הסבר על השאלה הזאת:

נתונה ההגדרה:

struct element { char name[10]; int day, month, year; element *next; } ;

כתוב פונקציה רקורסיבית

void birthday(int day, int month, int year, element *head)

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

------------------------------------------------------------------------------------

מה זה אומר "נתונה הגדרה" זה קשור לקוד? חלק מהתכנית? מה זה?

המצביע HEAD איך אני מקדם אותו ומה מכיל המצביע הזה? ועל מה הוא עובר?

אם אפשר לכתוב קוד ולהסביר לי דברים עקריים בקוד אז ממש אודה

אני פשוט לא הייתי בשיעורים ואין לי ממי לקחת עכשיו הסברים

קישור לתוכן
שתף באתרים אחרים

ההגדרה ניתנה כדאי שתדע מה לכתוב בקוד כאשר אתה מתייחס לחוליה כלשהיא ברשימה

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

אתה פשוט רץ ברקורסיה עד שתגיע ל NULL ומדפיס תוך כדאי

קישור לתוכן
שתף באתרים אחרים

 
void birthday(int day , int month, int year, element *head)
{
if(head == NULL)//if(!head)
return;
if((head->month == month) && (head->day == day))
{
cout << head->name <<" ";
cout << year - head-> year << endl;
}
birthday(day, month, year, head->next);
}

זה הפתרון

כמה שאלות עליו

הסמיון -> בשורה 5כשכתוב HEAD -> MONTH==MONTH

זה אומר ש HEAD שהוא קשור ל ELEMENT עכשיו מקבל את MONTH מתוך ELEMENT ומשווה אותו אם הערך שהכנסנו לMONTH לפונקציה?

קישור לתוכן
שתף באתרים אחרים

ב CPP, הסימון "חץ" בא לפתור סרבול שקיים בפנייה לאיברים של מחלקה, כאשר יש לנו רק מצביע לאיבר.

לדוגמא:

class Ex{
public:
int integer;
};
int main(void)
{
Ex* dummy = new Ex();
(*dummy).integer = 3;
dummy->integer = 3;
return 0;
}

שורות 8 ו-9 שקולות.

האופרטור ->, בא לפתור את הסרבול שב *().

קישור לתוכן
שתף באתרים אחרים

אני לא מבין למה פתחת את הנושא הזה - אתה מצפה שנלמד אותך ++C?

פתח ספר ותלמד בעצמך, או שתשיג סיכומי שיעור.

אחי מה הבעיה?

אני שואל שאלה על קוד

לא הצלחתי להבין לבד אז אני שואל פה ממוקד...

ותודה למגיב האחרון

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...