কম্পিউটার টিউটোরিয়াল

C++-এ বেসিক ক্যালকুলেটর (Basic Calculator)

বেসিক ক্যালকুলেটর সমস্যা

একটি স্ট্রিং এক্সপ্রেশন দেওয়া আছে যেটিতে পূর্ণসংখ্যা, +, -,괄호 (), এবং স্পেস থাকতে পারে। এক্সপ্রেশনটি ইভ্যালুয়েট করে ফলাফল বের করতে হবে।

উদাহরণ: "5 + 2 - 3" → ৪

সমাধানের পদ্ধতি (স্ট্যাক ব্যবহার)

  • ret = বর্তমান এক্সপ্রেশনের মান, sign = বর্তমান সাইন (+1/-1), num = বর্তমান সংখ্যা
  • স্ট্যাক st ব্যবহার করুন পরένথেসিস হ্যান্ডল করার জন্য
  • স্ট্রিং ট্রাভার্স করুন:
    • ডিজিট হলে num = num*10 + digit
    • '(' হলে: ret এবং sign স্টকে পুশ করুন, রিসেট করুন
    • ')' হলে: ret আপডেট করুন, স্টেক থেকে পুরানো sign এবং ret পপ করে কম্বাইন করুন
    • '+'/'-' হলে: ret আপডেট করুন, sign সেট করুন, num রিসেট করুন
  • শেষে বাকি num যোগ করুন

C++ কোড উদাহরণ


ইনপুট

"5 + 2 - 3"

আউটপুট

4
  1. C++-এ জাম্প গেম V (Jump Game V)

  2. সি++-এ বিউটিফুল অ্যারে (Beautiful Array)

  3. C++-এ K ডিজিট রিমুভ করে সবচেয়ে ছোট সংখ্যা বানানো

  4. C++-এ ফোর ডিভাইজারস (Four Divisors) সমস্যা সমাধান