স্বরবর্ণ এবং ব্যঞ্জনবর্ণ সহ একটি ইনপুট স্ট্রিং দেওয়া হয়েছে। স্ট্রিংটিকে এমনভাবে সাজান যাতে স্বরবর্ণ এবং ব্যঞ্জনবর্ণ চূড়ান্ত স্ট্রিং-এ বিকল্প অবস্থান দখল করে। যেহেতু আমরা স্বরবর্ণ এবং ব্যঞ্জনবর্ণকে বিকল্প অবস্থানে সাজিয়ে রাখছি ইনপুট স্ট্রিংকে অবশ্যই নিম্নলিখিত শর্তগুলির যেকোন একটি পূরণ করতে হবে -
-
স্বরবর্ণ এবং ব্যঞ্জনবর্ণের সংখ্যা অবশ্যই একই হতে হবে যেমন স্ট্রিং "individual"-এ 5টি স্বরবর্ণ এবং 5টি ব্যঞ্জনবর্ণ রয়েছে৷
-
যদি স্বরবর্ণের সংখ্যা বেশি হয়, তাহলে স্বরবর্ণের সংখ্যা এবং ব্যঞ্জনবর্ণের সংখ্যার মধ্যে পার্থক্য অবশ্যই 1 হতে হবে যেমন স্ট্রিং "নো"-এ 2টি স্বরবর্ণ এবং 1টি ব্যঞ্জনবর্ণ রয়েছে৷
৷ -
যদি ব্যঞ্জনবর্ণের সংখ্যা বেশি হয়, তাহলে ব্যঞ্জনবর্ণের সংখ্যা এবং স্বরবর্ণের সংখ্যার মধ্যে পার্থক্য অবশ্যই 1 হতে হবে যেমন স্ট্রিং "উদ্দেশ্য"-এ 4টি স্বরবর্ণ এবং 5টি ব্যঞ্জনবর্ণ রয়েছে।
অ্যালগরিদম
<পূর্ব>1. স্বরবর্ণ সংখ্যা গণনা 2. ব্যঞ্জনবর্ণের সংখ্যা গণনা ৩. যদি স্বরবর্ণ এবং ব্যঞ্জনবর্ণের সংখ্যার মধ্যে পার্থক্য বা বিপরীতে 1 এর বেশি হয় তাহলে error4 ফেরত দিন। ইনপুট স্ট্রিংকে দুটি ভাগে ভাগ করুন:ক) প্রথম স্ট্রিংটিতে শুধুমাত্র স্বরবর্ণ রয়েছে খ) দ্বিতীয় স্ট্রিংটিতে শুধুমাত্র ব্যঞ্জনবর্ণ রয়েছে5। যদি ব্যঞ্জনবর্ণ এবং স্বরবর্ণের সংখ্যা সমান হয়, তাহলে প্রতিটি স্ট্রিং থেকে বিকল্পভাবে একটি অক্ষর বেছে নিয়ে চূড়ান্ত স্ট্রিং তৈরি করুন।6। যদি স্বরবর্ণের সংখ্যা ব্যঞ্জনবর্ণের চেয়ে বেশি হয়, তাহলে:ক) সমান দৈর্ঘ্যের উভয় স্ট্রিং তৈরি করতে চূড়ান্ত স্ট্রিংয়ে অতিরিক্ত স্বরবর্ণ অন্তর্ভুক্ত করুন খ) বিকল্পভাবে প্রতিটি স্ট্রিং থেকে একটি অক্ষর যুক্ত করে চূড়ান্ত স্ট্রিং তৈরি করুন7। যদি ব্যঞ্জনবর্ণের সংখ্যা স্বরবর্ণের চেয়ে বেশি হয়, তবে ক) সমান দৈর্ঘ্যের উভয় স্ট্রিং তৈরি করতে চূড়ান্ত স্ট্রিংয়ে অতিরিক্ত ব্যঞ্জনবর্ণ অন্তর্ভুক্ত করুন খ) বিকল্পভাবে প্রতিটি স্ট্রিং থেকে একটি অক্ষর যুক্ত করে চূড়ান্ত স্ট্রিং তৈরি করুনউদাহরণ
#include#include namespace ব্যবহার করে std;bool is_vowel(char ch) { if (ch =='a' || ch =='e' || ch =='i' || ch =='o' || ch =='u') { সত্য ফেরত; } return false;}string create_final_string(string &s1, string &s2, int start, int end) { string final_string; জন্য (int i =0, j =start; j =2) { cerr <<"পর্যায়ক্রমে স্বরবর্ণ এবং ব্যঞ্জনবর্ণ দিয়ে স্ট্রিং তৈরি করা যায় না\n"; প্রস্থান (1); } if ((consonant_cnt - vowel_cnt) ==0) { return create_final_string(vowel_str, consonant_str, 0, vowel_cnt); } else if (vowel_cnt> consonant_cnt) { রিটার্ন vowel_str.at(0) + create_final_string(consonant_str,vowel_str, 1, vowel_cnt); } রিটার্ন consonant_str.at(0) + create_final_string(vowel_str,consonant_str, 1, consonant_cnt);}int main() { string s1 ="individual"; স্ট্রিং s2 ="noe"; স্ট্রিং s3 ="উদ্দেশ্য"; cout <<"ইনপুট :" < আউটপুট
আপনি যখন উপরের কোডটি কম্পাইল এবং এক্সিকিউট করবেন তখন এটি নিম্নলিখিত আউটপুট −
তৈরি করবেইনপুট:individualOutput:inidivudalInput:noeOutput:oneInput:objectiveOutput:bojecitev