কম্পিউটার

C++ এ প্রাকৃতিক সংখ্যা থেকে কিছু পূর্ণসংখ্যা মুছে ফেলার পর K-তম ক্ষুদ্রতম উপাদান


এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যেটি প্রাকৃতিক সংখ্যা থেকে কিছু পূর্ণসংখ্যা অপসারণের পর ক্ষুদ্রতম উপাদান খুঁজে বের করে।

আমরা উপাদান এবং k মান দিয়েছি। প্রদত্ত অ্যারেতে উপস্থিত প্রাকৃতিক সংখ্যা থেকে সমস্ত উপাদান সরান। এবং তারপর অবশিষ্ট প্রাকৃতিক সংখ্যা থেকে k-তম ক্ষুদ্রতম সংখ্যাটি খুঁজুন।

আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷

  • অ্যারে শুরু করুন এবং k।
  • একটি অ্যারে শুরু করুন এবং প্রদত্ত অ্যারেতে উপস্থিত উপাদানগুলি ব্যতীত সমস্ত উপাদান 0 দিয়ে আরম্ভ করুন৷
  • একটি লুপ লিখুন যা প্রদত্ত অ্যারের আকার পর্যন্ত পুনরাবৃত্তি করে।
    • উপরের অ্যারেতে বর্তমান উপাদানটি উপস্থিত না থাকলে k-এর মান হ্রাস করুন।
    • যখন k শূন্য হয়ে যায় তখন বর্তমান মানটি ফেরত দিন।
  • 0 ফেরত দিন।

উদাহরণ

আসুন কোডটি দেখি।

#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. C++ এ M বার সংযুক্ত একটি অ্যারে থেকে K-th ন্যূনতম উপাদান খুঁজুন

  4. সূচক দ্বারা C++ std::vector<> থেকে একটি উপাদান সরানো হচ্ছে?