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

C++-এ ব্র্যাকেট নম্বর প্রিন্ট করুন

এক্সপ্রেশন দেওয়া আছে। ব্র্যাকেটের নম্বর সিকোয়েন্স প্রিন্ট করতে হবে।

উদাহরণ: ইনপুট: "((()())())" → আউটপুট: 1233442551

স্ট্যাক-ভিত্তিক অ্যালগরিদম
  • leftBracket = 1, স্ট্যাক rightBracket খালি।
  • '(' পেলে leftBracket প্রিন্ট করুন, স্ট্যাকে পুশ করুন, leftBracket++।
  • ')' পেলে স্ট্যাকে 탑 প্রিন্ট করুন, পপ করুন।
উদাহরণ কোড
#include <bits/stdc++.h>
using namespace std;

void bracketCount(string expression, int n) {
    int leftBracket = 1;
    stack<int> rightBracket;
    for (int i = 0; i < n; i++) {
        if (expression[i] == '(') {
            cout << leftBracket << " ";
            rightBracket.push(leftBracket);
            leftBracket++;
        } else if (expression[i] == ')') {
            cout << rightBracket.top() << " ";
            rightBracket.pop();
        }
    }
}

int main() {
    string expression = "()((())()())";
    int n = expression.size();
    bracketCount(expression, n);
    return 0;
}
আউটপুট
1 1 2 3 4 4 3 5 5 6 6 2
  1. Frugal সংখ্যা চেক করা (C++)

  2. C++ দিয়ে পেন্টাটপ (Pentatope) সংখ্যা বের করা

  3. C++ STL-এ স্ট্যাক (Stack)

  4. C++-এ অ্যাডাম সংখ্যা (Adam Number) চেক করার পদ্ধতি