פשוט לא מצליח את 6!!!

מנהל: The Architect

נעול
mazliaha
הודעות: 26
הצטרף: 00:07 07/01/2009

פשוט לא מצליח את 6!!!

שליחה על ידי mazliaha » 05:03 13/01/2009

ניסיתי את כל השיטות לפתור את 6 אך ללא הועיל סיימתי את העבודה והיא עובדת אבל אין פתרון לאף n.......זה ממש תוקע אותי והייתי שמח אם מישהו יסביר שלב אחרי שלב מה צריך לעשות בפונקציה 6 ויתקן אותי.....זה פשוט מחרפן אותי השאלות הכי עיקריות הן:
1.אחד מתנאי העצירה הוא isTrue....שם אני מגדיר מערך חדש בגודל 0 ושולח אותו חזרה..
מה אני עושה עם המערך הזה אחרי שאני מחזיר אותו דרך solve הרי הוא בגודל 0 ואני לא יכול לשים בו שום ליטרל..
2.את ההשמה של הליטרל אנחנו שמים בתוך מערך מהו גודלו והאם ההשמה של הליטרל במערך הזה נעשית לפני הקריאה לsolve שוב?
3.כשאנו עושים return את מה אנחנו מחזירים?והאם מה שאנחנו מחזירים נכנס למערך כלומר array=solve(phi) או שכלום.....

זקוק נואשות תודה.......

sivanbu
הודעות: 38
הצטרף: 21:48 08/12/2008

שליחה על ידי sivanbu » 17:41 13/01/2009

1.אם isTrue=true זה אומר שphi ריק, זה אומר שמצאת פתרון. אתה לא יכול להחזיר מערך ריק אם phi ריק, כי אתה אמור להחזיר את הפתרון. כמובן שאם תחזיר מערך ריק לא תקבל פתרון לאף n. אז במקרה הזה אתה פשוט מחזיר את המערך החד ממדי שקיבלת כפרמטר בפונקציה. זה הפתרון.
2. הגודל של המערך הוא הגודל של המערך החד ממדי שאתה מקבל בפונקציה, שמכיל בעצם את הליטרלים עד כה, ועוד אחד. בתא האחרון שאתה מוסיף- שים את הליטרל החדש. וכן, לפני הקריאה לsolve.
3. מחזירים מערך חד ממדי של הליטרלים שפתרו את phi.

מקווה שעזרתי,
בהצלחה.
sivan

dekelgou
הודעות: 32
הצטרף: 03:25 28/12/2008
מיקום: ב"ש איפה עוד???

שליחה על ידי dekelgou » 17:59 13/01/2009

המחשבה צריכה להיות ככה, בגלל שזה רקורסיבי ואוסף פיתרונות לאורך הדרך, המערך שיוחזר כל פעם, גדל.
אישית אני עשיתי גם שכאשר isTrue ==true או יותר פשוט if(isTrue) אז מחזיר מערך בגודל 0.
לי זה עבד. שלח לי בפרטי אם יש בעיות
תגיד, איך מזהים תלמיד שנה ראשונה?
פשוט תעקוב אחרי התלונות...

אתר לבניית רשימת השמעה על האינטרנט: www.last.fm

mazliaha
הודעות: 26
הצטרף: 00:07 07/01/2009

שליחה על ידי mazliaha » 19:32 13/01/2009

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

sMellyCat
הודעות: 28
הצטרף: 15:12 01/01/2009

שליחה על ידי sMellyCat » 20:15 13/01/2009

אחרי שאתה מחזיר מערך בגודל אפס, אתה רוצה להגדיל את המערך ב-1 ולהכניס את הליטרל שבחרת...
אז בוא נגיד אתה מקבל מערך t בגודל 0, אז אתה מגדיר מערך חדש בגודל t.length+1 ומכניס את הליטרל לתוך המערך(תחשוב איפה להכניס אותו), וכמובן שאתה צריך גם להכניס את כל האיברים הקודמים שהיו במערך(מכיוון שאתה מגדיר את המערך כל פעם מחדש).
צריך לעשות זאת עבור הליטרל והנגדי שלו.

נעול

חזור אל “- מבוא למדעי המחשב”