08-07-2008, 11:11
|
|
|
חבר מתאריך: 10.12.07
הודעות: 51
|
|
טבלת אמת בC++
הבעייה שלי היא הבאה:
אני צריך לכתוב תוכנית המקבלת ביטוי לוגי עם כמות משתנים מסוימת (לא מוגדרת מראש), עם אופרטורים לוגיים בינהם כמובן, ואמורה להדפיס את טבלת האמת שלהם..
את קבלת הערכים ואת המיפוי של החזרות של המשתנים פתרתי,פיתחתי אלגוריתם מסוים שלכל משתנה אני אקצה מערך, (כך שיהיה מערך ראשי שיכיל את המשתנים עצמם (משתנים באותיות) ומערך מקונן לכל משתנה,שייצג עמודה בטבלה),עכשיו לבעייה העיקרית שיש לי בפיתוח האלגוריתם:
איך אני אמור לקבל טבלת אמת ,כלומר איך אני מאפס את המערכים כך שהראשון ייצג את ספרת האחדות והשני ייצג את ספרת העשרות וכך הלאה, כמובן שמדובר בבסיס בינארי.
כלומר איך אני מגיע למצב הבא:
יש לי לדוגמא 3 משתנים מסוג bool שמקבלים ערך אמת או שקר(x,y,z )
גודל של כל מערך הוא 2 בחזקת מספר המשתנים,כלומר 8.
Z אמור לקבל פעם אחת 0 ופעם אחת 1
Y אמור לקבל פעמיים 0 פעמיים 1
X אמור לקבל 4 פעמים 0 ו4 פעמים 1
וכך הלאה עד שכל מערך בגודל 8 מתמלא .
תודה מראש על העזרה.
|