קיבלנו עבודה שתוכלו לראות בPDF הבא:
https://www.dropbox.com/s/2owccs94ahgke9o/%D7%AA%D7%A8%D7%92%D7%99%D7%9C%203.pdfאני כרגע בחלק א' - בדיקת איזון של מחרוזת.
שימו לב - יכול להיות שאתם מכירים הגדרה אחרת למהי מחרוזת מאוזנת,
אך אנחנו חייבים לפעול לפי ההגדרה שניתנה לנו בעבודה.
את משימה 1 שמתוארת בקובץ ביצעתי בלי בעיה, תוכלו לראות כאן:
http://pastebin.com/aDvBsYF9
משימה 2 המתוארת בקובץ גם היא ללא בעיה:
http://pastebin.com/kGxP5fLa
בחלק ה3 נתקעתי.
חשבתי על מס' מקרי עצירה:
א. אם אין בכלל סוגריים כלשהן במחרוזת שהתקבלה - החזר true
ב. אם התקבלה מחרוזת ריקה - החזר true (תנאי עצירה זה מכוסה כבר בפונקציה
ממשימה 1, אם המחרוזת ריקה יתקבל ערך מוחזר מינוס 1 ממנה )
ג. אם נמצא סוגר פותח במחרוזת (ההסתכלות היא משמאל לימין) ונמצא עבורו
סוגר-סוגר, החזר true
את הקוד הראשוני שלי לפונקציה הנ,ל תוכלו לראות כאן:
http://pastebin.com/airHRJUm
פה נתקעתי, לאחר הקריאה הרקורסיבית שנמצאת בשורה 26 בלינק -
מה קורה עם חוזר לי ממנה true, כיצד להמשיך? ברגע שחוזר לי ממנה true
צריך שנמשיך לשאר התווים במחרוזת.
( חשבתי גם על פיתרון מסוג אחר, שלא אפרט אותו כיוון שהוא בכלל יוצר לי בעיה אחרת:
בהנתן מחרוזת בסגנון {<}> - הפיתרון הזה יחזיר לי true כשזה אמור לצאת false - המחרוזת אינה מאוזנת )
אשמח לעזרתכם - האם מלכתחילה אני עובד לא נכון? או שנדרשים תיקונים קטנים?
אני כבר מיואש, וזה רק החלק הקל בעבודה חחח
תודה
