שאלה בשפת C

Ass Man

New member
שאלה בשפת C

איך עושים את התרגיל הבא ? רקורסיה שמקבלת מספר ומחזירה מספר חדש בעל סדר ספרות הפוך !!! בבקשה זה דחוף !!!!!!!!!!
 

ihovav

New member
זה לא נראה הגיוני !!!

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

WarLord

New member
תנסה את זה

#include <stdio.h> int rec (int num) { static int newnum=0; if (num==0) return newnum; newnum*=10; newnum+=num %10; return rec (num / 10); } void main() { printf ("%d",rec(123456)); }​
אם חשובים לך אפסים מובילים ו/או אורך המספר תצטרך לעבוד עם CHAR בהצלחה.
 

fr!$h

New member
זו לא רקורסיה

למרות שממבט ראשוני, הפונקציה שכתבת נראית כרקורסיה. היא איננה רקורסיה טהורה.
 

philips

New member
תהייה

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

IdanR

New member
אם אתה מתעקש...

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

Ass Man

New member
זה לא שאני מתעקש !!

פשוט זה מה שהמורה ביקשה מאיתנו !!! ברקורסיה !!! תודה על הפתרון !!!!!!!
 

ihovav

New member
הנה פיתרון טיפ טיפה יותר פשוט

מצורף קובץ עם פתרון יותר פשוט לתרגיל
 
למעלה