ABA


"בעייה בתרגיל ברקורסיה ב C"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #12826 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 12826
GRINFELD

   21:57   19.12.05   
אל הפורום  
  בעייה בתרגיל ברקורסיה ב C  
 
   אני לומד עכשיו מבני נתונים ב C,
ואני אמור לבנות תכנית שתחשב את האיבר ה N בסידרה שכל איבר הוא הסכום של שלושת האיברים לפניו.
(1,2,3,6,11,20,37)
ואני לא מצליח למצוא את הדרך הנכונה,
ניסתי ברקורסיה לרשום:

printf(" %d ",(n-1)+( n-2)+(n));

שזה כמובן טעות,
אפשר לדעת מה הדרך הנכונה?
או לפחות עצה טובה?
תודה.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  מה זה אומר bizho 19.12.05 22:48 1
     הפונקציה תקבל את ה N GRINFELD 19.12.05 23:13 2
         זה בדיוק כמו פיבונצ'י רק עם 3 איברים במקום 2 .... אופירוש 20.12.05 14:15 3
             תודה רבה GRINFELD 20.12.05 20:55 4
                 אין בעד מה ... אגב ... אופירוש 21.12.05 17:38 5
  אתה יכול לעשות את זה בלולאת for יורדת הכוונה מהאיבר ה N עד לראשון NYC 23.12.05 14:40 6

       
bizho

   22:48   19.12.05   
אל הפורום  
  1. מה זה אומר  
בתגובה להודעה מספר 0
 
   מה שרשמת שם?
כדי לעשות רקורסיה, אתה צריך פונקציה שתקרא לעצמה. תחשוב דקה מה הפונקציה מקבלת ומה היא מחזירה ותחזור לפה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
GRINFELD

   23:13   19.12.05   
אל הפורום  
  2. הפונקציה תקבל את ה N  
בתגובה להודעה מספר 1
 
   כאשר N זה מס' הפעמים לבצע את הפונקציה,
למשל: אם N=7 אז התוצאה תהיה: 1-2-3-6-11-20-37
1+2+3=6
6+11+20=37
וכך הלאה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
אופירוש

   14:15   20.12.05   
אל הפורום  
  3. זה בדיוק כמו פיבונצ'י רק עם 3 איברים במקום 2 ....  
בתגובה להודעה מספר 2
 
   מוסיפים לתנאי עצירה את המספר 3 , מוסיפים לרקורסיה n-3 וזהו ...

בבקשה ...

מקווה שתבין על מה מדובר ולא רק תעתיק לשיעורי בית שלך .


Private Function Fibonacci(n As Integer) As Integer
If ((n = 3) Or (n = 2) Or (n = 1)) Then
Fibonacci = n
Else
Fibonacci = Fibonacci(n - 1) + Fibonacci(n - 2) + Fibonacci(n - 3)
End If
End Function


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
GRINFELD

   20:55   20.12.05   
אל הפורום  
  4. תודה רבה  
בתגובה להודעה מספר 3
 
   וזה לא שיעורי בית ממש, אני עוד מעט מסיים צבא ולומד הכל לבד...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
אופירוש

   17:38   21.12.05   
אל הפורום  
  5. אין בעד מה ... אגב ...  
בתגובה להודעה מספר 4
 
   אני נתקל המון לאחרונה בחיילים (ג'ובניקים) שמרוב שעמום בצבא התחילו להתעניין בתכנות ולכתוב דברים קטנים למשרד שלהם



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
NYC
חבר מתאריך 24.3.02
2141 הודעות
   14:40   23.12.05   
אל הפורום  
  6. אתה יכול לעשות את זה בלולאת for יורדת הכוונה מהאיבר ה N עד לראשון  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net