কম্পিউটার

C++ তে বিজোড় ফ্রিকোয়েন্সি থাকা অক্ষর প্রিন্ট করুন


এই সমস্যায়, আমাদের ব্যবহারকারী দ্বারা স্ট্রিং স্ট্র দেওয়া হয়। এবং আমাদের শুধুমাত্র সেই অক্ষরগুলিকে প্রিন্ট করতে হবে যেগুলির ফ্রিকোয়েন্সিগুলি বিজোড় সংখ্যায় সংঘটিত হয়৷

এই সমস্যাটি সমাধান করার জন্য, আমাদের একটি স্ট্রিং-এ একটি অক্ষরের সংঘটনের মোট ফ্রিকোয়েন্সি খুঁজে বের করতে হবে। এবং শুধুমাত্র সেই স্ট্রিংয়ের অক্ষরগুলিকে মুদ্রণ করুন যেগুলির বিজোড় ফ্রিকোয়েন্সি রয়েছে৷

বিষয়টি আরও ভালোভাবে বোঝার জন্য একটি উদাহরণ নেওয়া যাক -

Input : adatesaas.
Output : dte

ব্যাখ্যা −অক্ষরগুলি তাদের সংঘটনের ফ্রিকোয়েন্সি সহ −

৷ ৷ ৷ ৷
a 4
d 1
t 1
e 1
s 2

বিজোড় কম্পাঙ্কের অক্ষর হল d, t, e।

অ্যালগরিদম

এখন এই সমস্যাটি সমাধান করার জন্য একটি অ্যালগরিদম তৈরি করার চেষ্টা করা যাক −

Step 1 : Traverse the string and count the number of occurrences on characters of the string in an array.
Step 2 : Traverse the frequency array and print only those characters whose frequency of occurrence is odd.

উদাহরণ

আসুন এই অ্যালগরিদমের উপর ভিত্তি করে একটি প্রোগ্রাম তৈরি করি -

#include <bits/stdc++.h>
using namespace std;
int main(){
   string str = "asdhfjdedsa";
   int n = str.length();
   int frequency[26];
   memset(frequency, 0, sizeof(frequency));
   for (int i = 0; i < n; i++)
      frequency[str[i] - 'a']++;
   for (int i = 0; i < n; i++) {
      if (frequency[str[i] - 'a'] % 2 == 1) {
         cout << str[i]<<" , ";
      }
   }
   return 0;
}

আউটপুট

d , h , f , j , d , e , d

  1. C++ অবরোহী ক্রমে স্ট্রিং সাজানো

  2. শুভ জন্মদিন প্রিন্ট করার জন্য C++ প্রোগ্রাম

  3. পাইথন - প্রতি সারিতে K অক্ষর সহ স্ট্রিংকে ম্যাট্রিক্সে রূপান্তর করুন

  4. পাইথন - একটি স্ট্রিংয়ের সমস্ত অক্ষরের ফ্রিকোয়েন্সি আলাদা কিনা তা পরীক্ষা করুন