অ্যানাগ্রাম স্ট্রিং আর কিছুই নয়, অন্য স্ট্রিংয়ে একই সংখ্যক বার হওয়া সমস্ত অক্ষর, যাকে আমরা অ্যানাগ্রাম বলে থাকি।
একজন ব্যবহারকারী দুটি স্ট্রিং প্রবেশ করে। প্রতিটি অক্ষর ('a' থেকে 'z') কতবার তাদের মধ্যে উপস্থিত হয় তা আমাদের গণনা করতে হবে এবং তারপরে, তাদের সংশ্লিষ্ট গণনাগুলি তুলনা করুন। একটি স্ট্রিংয়ে একটি বর্ণমালার ফ্রিকোয়েন্সি হল এটিতে কতবার প্রদর্শিত হয়।
যদি দুটি স্ট্রিং নির্দিষ্ট বর্ণমালার কম্পাঙ্কের সমান গণনা থাকে, তাহলে আমরা বলতে পারি সেই দুটি স্ট্রিংকে অ্যানাগ্রাম।
উদাহরণ 1
স্ট্রিং 1 - abcd
স্ট্রিং 2 - bdac
এই দুটি স্ট্রিং একই অক্ষর যা একবার প্রদর্শিত হয়. সুতরাং, এই দুটি স্ট্রিং হল অ্যানাগ্রাম।
উদাহরণ 2
স্ট্রিং 1 - প্রোগ্রামিং
স্ট্রিং 2 - গ্রামিং
আউটপুট - স্ট্রিংগুলি অ্যানাগ্রাম নয়৷
৷উদাহরণ
একটি অ্যানাগ্রাম -
-এর জন্য C প্রোগ্রামটি নিচে দেওয়া হল#includeint check_anagram(char [], char []);int main(){ char a[1000], b[1000]; printf("দুটি স্ট্রিং লিখুন\n"); পায়(a); পায়(খ); if (check_anagram(a, b)) printf("স্ট্রিংগুলি অ্যানাগ্রাম।\n"); else printf("স্ট্রিংগুলো অ্যানাগ্রাম নয়।\n"); রিটার্ন 0;}int check_anagram(char a[], char b[]){int first[26] ={0}, second[26] ={0}, c=0; // প্রথম স্ট্রিং এর অক্ষরের ফ্রিকোয়েন্সি গণনা করার সময় (a[c] !='\0') { first[a[c]-'a']++; c++; } c =0; যখন (b[c] !='\0') { সেকেন্ড[b[c]-'a']++; c++; } // (c =0; c <26; c++) এর জন্য অক্ষরের ফ্রিকোয়েন্সি তুলনা করা যদি (first[c] !=second[c]) 0 ফেরত দেয়; রিটার্ন 1;
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত আউটপুট তৈরি করে −
Run 1:দুইটি স্ট্রিং লিখুন