המשימה
בכתיב פולני הפוך (Postfix) האופרטור נכתב **אחרי** שני האופרנדים שלו,
ולכן אין צורך בסוגריים כלל.
דוגמאות:
"23+" = 2+3 = 5
"23+5*" = (2+3)*5 = 25
"52-3*" = (5-2)*3 = 9
"7" = 7
כתוב פעולה שמקבלת מחרוזת כזו ומחזירה את ערכה.
המחרוזת מכילה ספרות בודדות 0-9 והאופרטורים + - *, בלי רווחים.
הנחיות:
• עבור על התווים משמאל לימין. ספרה — דוחפים למחסנית.
אופרטור — מוציאים **שניים**, מחשבים, ודוחפים את התוצאה בחזרה.
• סדר האופרנדים חשוב: האיבר שיצא ראשון הוא הימני. עבור "52-" יוצא
קודם 2 ואז 5, והחישוב הוא 5-2 ולא 2-5.
• המרת תו לספרה: c - '0'.
• בסוף הביטוי נשאר במחסנית איבר אחד — הוא התשובה.
ממשק מבני הנתונים כבר מצורף למשימה.
```ds:table
{"title":"מעקב עבור \"23+5*\"","rows":[["תו","פעולה","המחסנית אחרי"],["2","push 2","2"],["3","push 3","2, 3"],["+","pop 3, pop 2, push 5","5"],["5","push 5","5, 5"],["*","pop 5, pop 5, push 25","25"]]}
```
קוד הפתיחה
using System;
class Program {
static int Evaluate(string expr) {
// כתוב את הפתרון כאן
return 0;
}
static void Main() {
Console.WriteLine(Evaluate("23+")); // 5
Console.WriteLine(Evaluate("23+5*")); // 25
Console.WriteLine(Evaluate("52-3*")); // 9
Console.WriteLine(Evaluate("7")); // 7
Console.WriteLine(Evaluate("234*+")); // 14
}
}
כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.