עזרה

  • פותח הנושא qaa
  • פורסם בתאריך

qaa

New member
עזרה

int f (int n, int k, char*s) { int i,j,bol=0; for (i=0,j=1;i<N;i++,j++) if ( (s=='a')&&(s[j]=='a') ) { bol=1; return n*k; } if ( (s=='a')&&(bol==0) ) return n+k; } שאני מכניס מחרוזת שאמורה להחזיר משתנה "אן" פלוס משתנה "קיי"זה בכלל לא מחזיר לי את הסכום ביניהם אלה חירבושיים כמו 445759... למה?
 

Zack DA

New member
תתחיל לדבג לבד (אני מבקש מכולם

לא לעזור בבעיות מהסוג הזה, זה לא עוזר אם אני אומר לו לחשוב לבד ומישהו ישר נותן לו את התשובה).
 

qaa

New member
הממ.. זה לא שנתקלתי בבעיה וישר

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

Zack DA

New member
להפך, אני רוצה לעזור.

וגם עובדה שפתרת את הבעיה לבד, בסוף.
 

mooznach

New member
מה המחרוזת שאתה מכניס?

מה הפונקציה אמורה לעשות? העניין לא ברור...
 

qaa

New member
הפוקציה אמורה להחזיר את סכום K ו N

אם במחורזת מופיע התו 'a' פעם אחת או כמה פעמים אך לא ליד זה ברצף. אם במחרוזת מופיע 'aa' אז היא אמורה להחזיר את מכפלת N ו K.. :)
 

qaa

New member
אוקי אנשים הצלחתי, אבל..

שיחקתי עם זה קצת, ומתי שמתי else if במקום if בתנאי השני, זה עבד... השאלה למה? חח למה שיש רק if זה לא עובד? תודה
 
למעלה