עבור לתוכן

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

Featured Replies

פורסם

נתונה הבעיה :

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

לדוג' הקלט היה 123 הפלט יהיה 321

יש רעיון?

פורסם

תקלוט אותו כסטרינג ולא כמספר, תשלח פויינטר לתחילת הסטרינג לפונקציה, נקרא לה (recPrint(char* ptr, בכניסה לפונקציה תבדוק אם הפויינטר הוא null ואם כן תעשה return, אחרת תקרא לפונקציה עם הארגומנט ptr+1 ותדפיס את התו הנוכחי.

פורסם
  • מחבר

נחמד אבל לא מה שביקשו צריך לקבל מס' שלם חיובי

פורסם

אז תמיר לסטרינג, לא רציני...

עריכה:

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

פורסם
  • מחבר

ככה:

int opp(int g)
{

if (g == 0)
return 0;

printf("%d",g % 10);

return opp(g / 10);


}

פורסם

כן.

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

ארכיון

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

דיונים חדשים