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

সি++-এ প্রাকৃতিক সংখ্যাগুলো থেকে কিছু সংখ্যা বাদ দিয়ে K-তম সর্বনিম্ন উপাদান বের করা

এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখব যা প্রাকৃতিক সংখ্যাগুলো থেকে কিছু সংখ্যা বাদ দিয়ে K-তম সর্বনিম্ন উপাদান বের করবে।

আমাদের একটি অ্যারে এবং k মান দেওয়া আছে। প্রদত্ত অ্যারেতে উপস্থিত সব সংখ্যাগুলো প্রাকৃতিক সংখ্যাগুলো থেকে বাদ দিতে হবে। তারপর বাকি প্রাকৃতিক সংখ্যাগুলো থেকে K-তম সর্বনিম্ন সংখ্যা বের করতে হবে।

সমস্যা সমাধানের ধাপসমূহ

  • অ্যারে এবং k ইনিশিয়ালাইজ করুন।
  • একটি অ্যারে ইনিশিয়ালাইজ করুন এবং সব উপাদান ০ দিয়ে ফিল করুন, শুধু প্রদত্ত অ্যারেতে থাকা উপাদানগুলো ১ রাখুন।
  • প্রদত্ত অ্যারের সাইজ পর্যন্ত একটি লুপ চালান।
    • যদি বর্তমান উপাদান উপরের অ্যারেতে না থাকে, তবে k-এর মান ১ কমান।
    • যদি k শূন্য হয়, তবে বর্তমান মান রিটার্ন করুন।
  • ০ রিটার্ন করুন।

উদাহরণ কোড

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

int smallestNumber(int arr[], int n, int k) {
    int flag[MAX];
    memset(flag, 0, sizeof flag);
    for (int i = 0; i < n; i++) {
        flag[arr[i]] = 1;
    }
    for (int i = 1; i < MAX; i++) {
        if (flag[i] != 1) {
            k--;
        }
        if (!k) {
            return i;
        }
    }
    return 0;
}

int main() {
    int k = 2;
    int arr[] = { 3, 5 };
    cout << smallestNumber(arr, 2, k) << endl;
    return 0;
}

আউটপুট

উপরের কোডটি রান করলে নিচের ফলাফল পাওয়া যাবে:

2

নিষ্কর্ষ

এই টিউটোরিয়াল সম্পর্কে আপনার যেকোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানাতে পারেন।

  1. C++-এ প্রথম n প্রাকৃতিক সংখ্যা থেকে দৈর্ঘ্য k-এর সব বর্ধমান সিকোয়েন্স প্রিন্ট করা

  2. C++-এ সর্বোচ্চ এক উপাদান সরিয়ে সাবঅ্যারে যোগফল সর্বাধিক করা

  3. অ্যারে M বার কনক্যাটিনেট করে K-তম ন্যূনতম এলিমেন্ট (C++)

  4. C++-এ std::vector থেকে ইনডেক্স দিয়ে এলিমেন্ট মুছে ফেলা (Removing Element by Index)