ABA


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

דרג אמינות חבר זה
   15:17   20.04.03   
אל הפורום  
  חייב עזרה בC++  
 
   עבר עריכה לאחרונה בתאריך 20.04.03 בשעה 15:22
 
מי יכול להגיד לי מה לא טוב ברקורסיה הזאת
http://rotter.net/User_files/nor/3ea290fa08a96082.gif


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  כן אם אתה עושה רקורסיה אז אתה צריך לעשות ככה yoash 20.04.03 15:58 1
     כן הבנתי שיניתי את זה עכשיו Silver_Man 20.04.03 19:10 2
         פתרון: yoash 20.04.03 22:54 3
             אחי אני לא צריך להגדיל את STR כי אני מגדיל את (ל''ת) Silver_Man 22.04.03 00:29 4
                 אבל אתה מתחיל עם j חדש כל פעם בגלל שאתה קורא yoash 22.04.03 02:08 5

       
yoash

דרג אמינות חבר זה
   15:58   20.04.03   
אל הפורום  
  1. כן אם אתה עושה רקורסיה אז אתה צריך לעשות ככה  
בתגובה להודעה מספר 0
 
   int HoW(char str,int j)
{
if(str == '0') return 0;
return HoW(str,j+1) + (str>='a' && str<='z');
}

מה שאתה עשית זה היה רקורסיה סתם בגלל שהרקורסיה לא עשתה כלום
עכשיו אם אתה רוצה לעשות את זה לא ברקורסיה אז תעשה ככה:
זה להגדיר את j כה static
ואז הערך שלו הישמר בין קריאה לקריאה.


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

דרג אמינות חבר זה
   19:10   20.04.03   
אל הפורום  
  2. כן הבנתי שיניתי את זה עכשיו  
בתגובה להודעה מספר 1
 
   שיניתי את זה ועדיין זה לא טוב גם מה שנתת לא עוזר לי ומה שעשיתי אני לא מבין למה זה לא טוב עדיין אתה אולי יודע??

http://rotter.net/User_files/nor/3ea2c6417a5c4460.gif


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

דרג אמינות חבר זה
   22:54   20.04.03   
אל הפורום  
  3. פתרון:  
בתגובה להודעה מספר 2
 
   עבר עריכה לאחרונה בתאריך 20.04.03 בשעה 22:57
 
טוב נתחיל בפתרון הנכון:

int HoW(char str)
{
if(str == '0') return 0;
return (str>='a' && str<='z') + HoW(++str);
}

ועכשיו להסבר למה מה שכתבת לא נכון:
אז ככה שים לב שכל פעם אתה מאפס את j אז יוצא שכל פעם אתה בודק את התא הראשון.
חוץ מיזה אתה לא מקדם את str אז אתה בעצם צועד במקום.


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

דרג אמינות חבר זה
   00:29   22.04.03   
אל הפורום  
  4. אחי אני לא צריך להגדיל את STR כי אני מגדיל את (ל''ת)  
בתגובה להודעה מספר 3
 
   עבר עריכה לאחרונה בתאריך 22.04.03 בשעה 00:30
 
J


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

דרג אמינות חבר זה
   02:08   22.04.03   
אל הפורום  
  5. אבל אתה מתחיל עם j חדש כל פעם בגלל שאתה קורא  
בתגובה להודעה מספר 4
 
   אבל אתה מתחיל עם j חדש כל פעם בגלל שאתה קורא לפונקציה שוב.
מבין ?
אם יש לך עוד שאלות את יכול ליצור קשר בICQ 33193841


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

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

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



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