המשימה
בכתיב פולני הפוך (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'. • בסוף הביטוי נשאר במחסנית איבר אחד — הוא התשובה. ממשק מבני הנתונים כבר מצורף למשימה. [טבלה]
קוד הפתיחה
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 ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.