অনুপাত (Anagram) মানে অন্য একটি স্ট্রিং-এ প্রথম স্ট্রিং-এর মতো ক্যারেক্টারগুলো থাকবে, কিন্তু ক্যারেক্টারগুলোর ক্রম ভিন্ন হতে পারে।
এখানে আমরা নিচের দুটি স্ট্রিং যাচাই করছি:
string str1 = "silent"; string str2 = "listen";
দুটি স্ট্রিংকে ক্যারেক্টার অ্যারেতে রূপান্তর করুন:
char[] ch1 = str1.ToLower().ToCharArray(); char[] ch2 = str2.ToLower().ToCharArray();
এখন সেগুলো সোর্ট করুন:
Array.Sort(ch1); Array.Sort(ch2);
সোর্ট করার পর সেগুলো আবার স্ট্রিং-এ রূপান্তর করুন:
string val1 = new string(ch1); string val2 = new string(ch2);
দুটি স্ট্রিং সমতা যাচাই করুন। যদি সমান হয়, তবে সেগুলো অনুপাত।
সম্পূর্ণ কোড
using System;
public class Demo
{
public static void Main()
{
string str1 = "silent";
string str2 = "listen";
char[] ch1 = str1.ToLower().ToCharArray();
char[] ch2 = str2.ToLower().ToCharArray();
Array.Sort(ch1);
Array.Sort(ch2);
string val1 = new string(ch1);
string val2 = new string(ch2);
if (val1 == val2)
{
Console.WriteLine("Both the strings are Anagrams");
}
else
{
Console.WriteLine("Both the strings are not Anagrams");
}
}
}
আউটপুট
Both the strings are Anagrams