কম্পিউটার টিউটোরিয়াল

C++-এ স্ট্রিং থেকে ডISTINCT বছরের সংখ্যা বের করা


সমস্যা

একটি স্ট্রিং দেওয়া আছে যাতে 'DD-MM-YYYY' ফরম্যাটে তারিখ আছে। স্ট্রিং থেকে সব ডISTINCT বছর বের করে কাউন্ট করুন।

অ্যালগরিদম

  1. স্ট্রিং স্ক্যান করুন, ডিজিট ক্যरेক্টার জমা করুন একটি টেম্প স্ট্রিং-এ।
  2. হাইফেন (-) পেলে টেম্প ক্লিয়ার করুন।
  3. টেম্পের দৈর্ঘ্য ৪ হলে (বছর পাওয়া গেলে) সেটে ইনসার্ট করুন।
  4. সেটের সাইজ রিটার্ন করুন।

C++ কোড

#include <bits/stdc++.h>
using namespace std;

int calculateDifferentYears(string str) {
    unordered_set<string> years;
    string temp = "";
    for (char c : str) {
        if (isdigit(c)) temp.push_back(c);
        if (c == '-') temp.clear();
        if (temp.size() == 4) {
            years.insert(temp);
            temp.clear();
        }
    }
    return years.size();
}

int main() {
    string s = "I was born on 22-12-1955. My sister was born on 34-06-2003 and my mother on 23-03-1940.";
    cout << calculateDifferentYears(s); // 3
}

আউটপুট

3
  1. সি++ কোড: গেমে n-থেকে শুরু করে ন্যূনতম সংখ্যা বের করুন

  2. C++ কোড: রটারি ডায়ালে স্ট্রিং প্রিন্ট করার জন্য ঘুরানোর সংখ্যা গণনা

  3. C++ কোড: বিশেষ সংখ্যাগুলোর মোট অঙ্কের সংখ্যা গণনা

  4. C++ দিয়ে একটি স্ট্রিংয়ের সাবস্ট্রিং-এর সংখ্যা বের করা