ABA


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

דרג אמינות חבר זה
   15:29   27.05.06   
אל הפורום  
  שאלה משיעורי בית...  
 
   השאלה-
עליכם לכתוב תוכנית בשם substring.c המקבלת שתי מחרוזות מהמשתמש ומדפיסה את תוצאת הפונקציה
int strsub ( char *str1, char *str2 )

כלומר: התוכנית תדפיס האם str2 הינה תת מחרוזת של str1 או לא.

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


בהינתן שני מערכים המכילים מחרוזות s1 ו- s2, נאמר ש s2 הינו תת מחרוזת של s1 אם:
קיים תא במערך s1 המכיל את האות הראשונה של s2
וקיים תא במערך s1 לאחר התא הקודם המכיל את האות השנייה של s2
וקיים תא במערך s1 לאחר התא הקודם המכיל את האות השלישית של s2

וקיים תא במערך s1 לאחר התא הקודם המכיל את האות האחרונה של s2

לדוגמא-
המחרוזת

kculdoog

הינה תת מחרוזת של המחרוזת

q#kk$<cuaalad3odog1


הנה מה שעשיתי-


int StrSub (char *str1, char *str2)
{
int flag = TRUE;
if (*str2 == '\0')
return TRUE;
for (; str1 != '\0' && flag == TRUE; str1++){
if (*str1 == *str2){
flag = FALSE;
return StrSub (str1+1, str2+1);
}
}
return FALSE;
}


נראה לי הבעיה היא שאני מחזיר ערך אז הוא מחזיר לפקונציה שקראה לו ולמיין זה לא מגיע אף פעם כמו שצריך...

מה עושים :|?


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  למה לולאה? bizho 27.05.06 15:41 1
     כי הוא צריך לבדוק את STR1 sHuMpI 27.05.06 15:44 2
         תראה את הקוד הבא: bizho 27.05.06 21:56 3
             הפתרון מאד דומה..זה לא עובד אחי sHuMpI 27.05.06 23:38 4
                 על איזה מחרוזות בדקת? bizho 27.05.06 23:42 5
                     מכתב sHuMpI 28.05.06 09:57 6
                         השאלה שלי הייתה באיזה מחרוזות השתמשת bizho 28.05.06 10:45 7
                             מה זאת אומרת? sHuMpI 28.05.06 13:00 8
                                 אז תן דוגמא לקלט שהכנסת. bizho 28.05.06 13:38 9
                                     אוייי אני כזה מטומטם sHuMpI 28.05.06 13:41 10
                                         אין בעייה :) bizho 28.05.06 14:29 12
             נראה שזאת צריכה לעבוד במבט ראשוני... MadXP 28.05.06 13:44 11

       
bizho

דרג אמינות חבר זה
   15:41   27.05.06   
אל הפורום  
  1. למה לולאה?  
בתגובה להודעה מספר 0
 
  


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

דרג אמינות חבר זה
   15:44   27.05.06   
אל הפורום  
  2. כי הוא צריך לבדוק את STR1  
בתגובה להודעה מספר 1
 
   מהמקום שהיה נתון עד לסוף...


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

דרג אמינות חבר זה
   21:56   27.05.06   
אל הפורום  
  3. תראה את הקוד הבא:  
בתגובה להודעה מספר 2
 
   לא בדקתי למקרי קצה, אבל הוא אמור לעבוד:


bool strsub(char *str1, char *str2)
{
if (*str1 == '\0')
return false;
if (*str2 == '\0')
return true;

if (*str2 == *str1)
return strsub(++str1, ++str2);
else
return strsub(++str1, str2);
}


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

דרג אמינות חבר זה
   23:38   27.05.06   
אל הפורום  
  4. הפתרון מאד דומה..זה לא עובד אחי  
בתגובה להודעה מספר 3
 
  


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

דרג אמינות חבר זה
   23:42   27.05.06   
אל הפורום  
  5. על איזה מחרוזות בדקת?  
בתגובה להודעה מספר 4
 
  


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

דרג אמינות חבר זה
   09:57   28.05.06   
אל הפורום  
  6. מכתב  
בתגובה להודעה מספר 5
 
  

void ReadString (char *str)
{
char c;
int i;
for (i=0; i<LENGTH-1 && (c=getchar()) && c != '\n'; str++)
*str = c;
*str='\0';
return;
}

בדקתי גם על מחרוזת בסקנף רגיל זה לא משנה


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

דרג אמינות חבר זה
   10:45   28.05.06   
אל הפורום  
  7. השאלה שלי הייתה באיזה מחרוזות השתמשת  
בתגובה להודעה מספר 6
 
   כדי לבדוק את הפונקציה...


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

דרג אמינות חבר זה
   13:00   28.05.06   
אל הפורום  
  8. מה זאת אומרת?  
בתגובה להודעה מספר 7
 
   כל הזמן אני מכניס קלט אחר..
בוא לאיסיקיו שלי 191289 קשה לנהל פה שיחה


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

דרג אמינות חבר זה
   13:38   28.05.06   
אל הפורום  
  9. אז תן דוגמא לקלט שהכנסת.  
בתגובה להודעה מספר 8
 
   אני למשל ניסיתי a="bigstring"
b="str" וזה עבד יופי.


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


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

דרג אמינות חבר זה
   13:41   28.05.06   
אל הפורום  
  10. אוייי אני כזה מטומטם  
בתגובה להודעה מספר 9
 
   ערכתי לאחרונה בתאריך 28.05.06 בשעה 13:41 בברכה, sHuMpI
 
יכול להיות שזה עבד גם מקודם כי כל הזמן הכנסתי קודם את הקטנה ואז את הגדולה
תודה רבה אחי חח


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

דרג אמינות חבר זה
   14:29   28.05.06   
אל הפורום  
  12. אין בעייה :)  
בתגובה להודעה מספר 10
 
  


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

דרג אמינות חבר זה
   13:44   28.05.06   
אל הפורום  
  11. נראה שזאת צריכה לעבוד במבט ראשוני...  
בתגובה להודעה מספר 3
 
  


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

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

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



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