בקשר למשוואות.
יש לתוכנה כזאת שני חלקים: 1.ניתוח המחרוזת. 2.פתירת המשוואה. נתחיל מהחלק השני, הוא החלק העיבודי האמיתי. ניתוח המחרוזת זה חלק מהקלט למעשה (אפילו שזה מסובך לא פחות). נאמר שנעשה תוכנית שקולטת משוואה בנעלם אחד בפורמט קבוע, למשל AX=C (בכדי להתעלם מניתוח הקלט כרגע) זה יהיה משהו כזה:
const float eps=0.0001; float A,C; cout << "Enter the equation in format AX=C." ; cout << "\nEnter A:" ; cin >> A ; cout << "\nEnter C:" ; cin >> C ; cout << "\nThe equation : " << A << "X=" << C ;
זה יהיה קטע הקלט. בכדי לעשות את העיבוד, נחלץ את X מהמשוואה וייצא לנו X=C/A וכך נחשב את התוצאה, כמובן עם להתחשב במקרי קצה (A!=0).
if(A<eps||A>-eps) // A==0 cout << "\nUnsolveable equation."; else { float X=C/A; cout << "\nX=" << X ; }
זהו, זה לא כלכך מסובך (היות וזה משוואה פשוטה מאוד) אבל זה הרעיון הכללי. בקשר לניתוח המחרוזת, כאן אתה מתחיל להסתבך. כמה שאתה רוצה שזה יכיר יותר פורמטים אתה צריך לעבוד יותר קשה. אם אתה ממש רוצה שזה יוכל לקרוא כל משוואה כמו בנאדם, אז כאן אתה מתחיל להכנס לנושאים נוספים כגון כינוס איברים, פתירת סוגים רבים של משוואות (בשני נעלמים, במעלה שניה וכו'). בקשר לאלגוריתמים מוכנים, חפש ברשת, אני חושש שאני לא יודע להגיד לך איפה הם נמצאים. בהצלחה.