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

C++-এ সোর্স কোড রি-অ্যারেঞ্জ করুন


একটি স্ট্রিং ভেরিয়েবলে সোর্স কোড সংরক্ষণ করে, তার আকার বের করে ফাংশনে পাস করলে সোর্স কোডটি সুন্দরভাবে রি-অ্যারেঞ্জ হয়ে প্রিন্ট হবে।

উদাহরণ

ইনপুট − string str = "#include using namespace std; int main() { int sum, first, second; sum = first + second; printf(\"%d\", c); return 0;}"

আউটপুট − সুন্দর ফরম্যাট করা কোড।

প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • স্ট্রিং str ও এর দৈর্ঘ্য length নিন।

  • Rearrangement(str, length) ফাংশন কল করুন।

  • ফাংশনে Parenthesis, Braces, count, i, j ভেরিয়েবল ব্যবহার করে ব্রেস, প্যারেনথেসিস, হ্যাশ ইত্যাদি ট্র্যাক করে কোড ফরম্যাট করা হয়।

  • ডু-হয়াইল লুপে প্রতিটি ক্যারাক্টার প্রসেস করে নাইয়ে লাইন, ইন্ডেন্টেশন যোগ করা হয়।

  • শেষে ফরম্যাট করা স্ট্রিং প্রিন্ট করুন।

উদাহরণ কোড

#include <bits/stdc++.h>
using namespace std;

void Rearrangement(string str, int length){
    string str_1;
    int Parenthesis = 0, Braces = 0, count = 0, i = 0, j = 0;
    do{
        if(str[i] == '#' || str[i] == '<' || str[i] == '>' || str[i] == ';' || str[i] == '}' || str[i] == '{' || str[i] == '(' || str[i] == ')'){
            if(str[i] == '{') Braces++;
            if(str[i] == '}') Braces--;
            if(str[i] == '<' && Parenthesis == 0) count++;
            if(str[i] == '>' && Parenthesis == 0) count--;
            if(str[i] == '('){ count = 0; Parenthesis++; }
            if(str[i] == ')') Parenthesis--;
            if(Parenthesis > 0){
                str_1 = str_1 + str[i];
            }
            else{
                if(str[i] == ')'){
                    str_1 = str_1 + str[i];
                }
                else if(str[i] == '{' || str[i] == '}'){
                    str_1 = str_1 + '\n';
                    str_1 = str_1 + str[i];
                    str_1 = str_1 + '\n';
                }
                else if(count > 0){
                    str_1 = str_1 + str[i];
                }
                else if(str[i] == '#'){
                    str_1 = str_1 + '\n';
                    str_1 = str_1 + str[i];
                }
                else{
                    str_1 = str_1 + str[i];
                    str_1 = str_1 + '\n';
                }
            }
        }
        else{
            str_1 = str_1 + str[i];
        }
        i++;
    }while (i < length);
    str_1 = str_1 + '\0';
    for(i = 0; i < str_1.length(); i++){
        cout << str_1[i];
    }
}

int main(){
    string str = "#include using namespace std;int main()"
                 "{ int sum, first, second; sum = first + second; printf(\"%d\", c);"
                 " return 0;}";
    int length = str.length();
    Rearrangement(str, length);
    return 0;
}

আউটপুট

উপরের কোড রান করলে নিচের আউটপুট পাওয়া যাবে:

#include 
using namespace std;
int main() {
    int sum, first, second;
    sum = first + second;
    printf("%d", c);
    return 0;
}
  1. সি++ প্রোগ্রাম: দিয়ে থাকা স্ট্রিং-এ "1(0+)1" প্যাটার্নের সব.matches খুঁজে বের করা

  2. C++-এ nCr যেন প্রদত্ত প্রাইম দ্বারা বিভাজ্য কিনা তা যাচাই করা

  3. C++-এ দেওয়া সংখ্যার ডিজিটগুলোর যোগফল বের করা

  4. সেরা C++ কোড ফরমেটার/বিউটিফায়ার কোনটি?