שאלת רקורסיה ב-C

SmartToyBoy

New member
שאלת רקורסיה ב-C

שלום לכולכם! יש לי שאלה: צריך לכתוב פונקציה רקורסיבית שמדפיסה שם של ספר מהסוף להתחלה. שם הספר מיוצג ע"י מערך דו ממדי, כשמספר המילים מוגבל ל- 10 ומספר האותיות בכל מילה מוגבל ל- 20 כלומר char[10][20] zz. הפונקציה חייבת לקבל מצביע ל- char הראשון בספר ואת מספר המילים בשם הספר. למשל שם הספר The white feng יודפס gnef etihw ehT. תודה לעוזרים
SmatrToyBoy.
 

gil levi

New member
ומה שויני מתכוון לומר

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

SmartToyBoy

New member
נראה לי שהצלחתי...

Void rec_reverse(char* c, int n_o_w) //NumberOfWords { if (n_o_w) //n_o_w!=0 rec_reverse(c+20, n_o_w-1); reverse_string(c); //reverse_string הופכת מחרוזת מהסוף להתחלה. קל לממש printf(" "); }
 

SmartToyBoy

New member
מממ וגם...

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

vinney

Well-known member
../images/Emo13.gif

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

yonyl

New member
לא יותר מדי מסובך

תסרוק את כל המילים, קידום בתוך המילה ע"י הוספת אחד לפויינטר (עד לסימן סוף מילה \0) קידום למילה הבאה ע"י הוספת 10 פחות גודל מילה נוכחית עד שתגיע לסוף ובכל פונקציה בשורה האחרונה תופיע הדפסת CHAR נוכחי (אם לא \0)כלומר הקריאה הרקורסיבית לפני ההדפסה וככה ההדפסה תיהיה בסדר הפוך.
 
למעלה