পূর্বনির্ধারিত মান সহ চারটি ভেরিয়েবল a, b, c, d দেওয়া হয়েছে যা ব্যবহৃত ভেরিয়েবলের উপর নির্ভর করে প্রদত্ত বন্ধনীটি প্রিন্ট করবে।
যেখানে পরিবর্তনশীল,
a for (( b for () c for )( d for ))
কাজ হল প্রদত্ত সমস্ত বন্ধনী ব্যবহার করা এবং সুষম বন্ধনী অভিব্যক্তি প্রিন্ট করা, যদি আমরা একটি সুষম বন্ধনী অভিব্যক্তি তৈরি করতে না পারি তবে প্রিন্ট -1। একাধিক উত্তরের ক্ষেত্রে আমরা একাধিক উত্তর প্রিন্ট করতে পারি যা প্রদত্ত বন্ধনী ব্যবহার করে গঠন করা যেতে পারে।
উদাহরণ
Input: a = 3, b = 2, c = 4, d = 3 Output : (((((()()()()())))))()()
এই ফলাফলটি পেতে আমরা প্রথমে পরীক্ষা করে দেখতে পারি যে প্রদত্ত বন্ধনীর সংখ্যা দিয়ে সুষম বন্ধনী অভিব্যক্তি তৈরি করা যায় কিনা। যদি প্রদত্ত বন্ধনী সংখ্যা দ্বারা অভিব্যক্তি তৈরি করা যায় তবে আমরা করব।
- টাইপ 1 বন্ধনীর সংখ্যা প্রিন্ট করুন।
- টাইপ 3 বন্ধনীর সংখ্যা প্রিন্ট করুন।
- টাইপ 4 বন্ধনীর সংখ্যা প্রিন্ট করুন।
- টাইপ 2 বন্ধনীর সংখ্যা প্রিন্ট করুন।
নীচে অ্যালগরিদম এবং পদ্ধতির বাস্তবায়ন রয়েছে৷
অ্যালগরিদম
START Step 1 -> Declare Function void print(int a, int b, int c, int d) Declare int i IF ((a == d && a) || (a == 0 && c == 0 && d == 0)) Loop For i=1 and i<=a and i++ Print (( End Loop For i=1 and i<=c and i++ Print )( End Loop For i=1 and i<=d and i++ Print )) End Loop For i=1 and i<=b and i++ Print () End Else Print can’t be formed Step 2 -> main() Declare int a = 3, b = 2, c = 4, d = 3 Call print(a,b,c,d) STOP
উদাহরণ
#include<stdio.h> void print(int a, int b, int c, int d){ int i; if ((a == d && a) || (a == 0 && c == 0 && d == 0)){ for (i = 1; i <= a; i++) printf("(("); for (i = 1; i <= c; i++) printf(")("); for (i = 1; i <= d; i++) printf("))"); for (i = 1; i <= b; i++) printf("()"); } else printf("can't be formed"); } int main(){ int a = 3, b = 2, c = 4, d = 3; print(a, b, c, d); return 0; }
আউটপুট
যদি আমরা উপরের প্রোগ্রামটি চালাই তবে এটি নিম্নলিখিত আউটপুট তৈরি করবে
(((((()()()()())))))()()