עבור לתוכן

עזרה בתרגיל רקורסיה

Featured Replies

פורסם

שלום לכולם

זקוק לעזרה בתרגיל הבא בנושא רקורסיה בתרגיל בשפת C:

סעיף א':

ממשו פונקציה רקורסיבית

int rec_strlen(char *)

שמקבלת מחרוזת ומחשבת את אורכה. אין להשתמש בלולאות ובפונקציות מספריית string.h.

סעיף ב':

עליכם לממש פונקציה rec_match(char *string, char* substring)  int  שתבדוק האם  substring  היא תת מחרוזת של string .אם כן הפונקציה תחזיר 1 אחרת 0. הפונקציה תהיה רקורסיבית ולא תשתמש כלל בלולאות ופונקציות מספריית string.h. הפונקציה תשתמש ב- rec_strlen מסעיף א'.   נסביר את פעולתה ע"י דוגמא:

int main(){

    rec_match (aabcdf,abc); // will return 1 since abc is a substring of aabcdf

    rec_match (aabcdf,abf); // will return 0 since abf is not a substring of aabcdf

   return 0;

}

מחרוזת תחשב כתת מחרוזת של מחרוזת אחרת אם היא מופיעה במלואה וברצף בתוך המחרוזת האחרת לפחות פעם אחת.

ניתן להניח שגם string  וגם substring  אינן ריקות ואינן   NULL (כלומר מכילות לפחות תו אחד).

הדרך  הפשוטה לפתור את התרגיל היא על ידי שתי פונקציות רקורסיביות

תודה מראש על התגובות...

פורסם

בתרגיל הראשון אתה יכול לבדוק אם הגעת ל\0 אם לא אז אתה שולח לאותה פונ את ה str+1 ומוסיף 1. אם זה \0 אז אתה מחזיר 0.

ארכיון

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

דיונים חדשים