কম্পিউটার

C++ এ একটি প্রদত্ত পূর্ণসংখ্যা অ্যারের সমস্ত স্বতন্ত্র উপাদান প্রিন্ট করুন


এই সমস্যায়, আমাদেরকে পূর্ণসংখ্যার মানের একটি অ্যারে দেওয়া হয়েছে। আমাদের কাজ হল অ্যারের সমস্ত স্বতন্ত্র উপাদান প্রিন্ট করা। আউটপুটে শুধুমাত্র স্বতন্ত্র মান থাকতে হবে।

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক

Input: array = {1, 5, 7, 12, 1, 6, 10, 7, 5}
Output: 1 5 7 12 6 10

এই সমস্যাটি সমাধান করার জন্য, আমাদের স্বতন্ত্রতার জন্য অ্যারের উপাদানগুলি পরীক্ষা করতে হবে। এর জন্য, আমরা দুটি নেস্টেড লুপ ব্যবহার করব, বাইরেরটি মান নেবে এবং ভিতরেরটি এটি দিয়ে বাকি মানগুলি পরীক্ষা করবে। যদি একাধিক মান প্রস্থান করে তবে শুধুমাত্র একটি প্রিন্ট করুন।

উদাহরণ

এই কোডটি আমাদের সমাধানের বাস্তবায়ন দেখায়,

#include <iostream>
using namespace std;
void printDistinctValues(int arr[], int n) {
   for (int i=0; i<n; i++){
      int j;
      for (j=0; j<i; j++)
      if (arr[i] == arr[j])
         break;
      if (i == j)
         cout<<arr[i]<<"\t";
   }
}
int main(){
   int arr[] = {1, 5, 7, 12, 1, 6, 10, 7, 5};
   int n = sizeof(arr)/sizeof(arr[0]);
   cout<<"Distinct values of the array are :\n";
   printDistinctValues(arr, n);
   return 0;
}

আউটপুট

Distinct elements of the array are −
1 5 6 7 10 12

এই সমাধানটি সহজ কিন্তু দুটি লুপ ব্যবহার করে যা n 2 এর ক্রমকে জটিল করে তোলে .

একটি আরো জটিল পদ্ধতি বাছাই ব্যবহার করা হবে. সাজানো অ্যারেতে, অনুরূপ সংখ্যাগুলির উপস্থিতি পরপর হয়ে যায়। এখন, আমরা স্বতন্ত্র উপাদানগুলি সহজেই প্রিন্ট করতে পারি এবং এটি কম জায়গা নেয়৷

উদাহরণ

আমাদের যুক্তি-

বাস্তবায়ন
#include <bits/stdc++.h>
using namespace std;
void printDistinctElements(int arr[], int n){
   sort(arr, arr + n);
   for (int i=0; i<n; i++){
      while (i < n-1 && arr[i] == arr[i+1])
         i++;
      cout<<arr[i]<<"\t";
   }
}
int main(){
   int arr[] = {1, 5, 7, 12, 1, 6, 10, 7, 5};
   int n = sizeof(arr)/sizeof(arr[0]);
   cout<<"Distinct elements of the array are :\n";
   printDistinctElements(arr, n);
   return 0;
}

আউটপুট

Distinct elements of the array are −
1 5 6 7 10 12

আরেকটি আরও কার্যকর সমাধান হল অ্যারের পরিদর্শন করা উপাদানগুলির উপর নজর রাখা। আমরা অ্যারেটি অতিক্রম করব এবং অ্যারের সমস্ত পরিদর্শন উপাদানগুলির উপর নজর রাখব।

উদাহরণ

এই কোডটি আমাদের সমাধানের বাস্তবায়ন দেখায়,

#include<bits/stdc++.h>
using namespace std;
void printDistinctElements(int arr[],int n) {
   unordered_set<int> visited;
   for (int i=0; i<n; i++){
      if (visited.find(arr[i])==visited.end()){
         visited.insert(arr[i]);
         cout<<arr[i]<<"\t";
      }
   }
}
int main () {
   int arr[] = {1, 5, 7, 12, 1, 6, 10, 7, 5};
   int n=7;
   cout<<"Distinct numbers of the array are :\n";
   printDistinctElements(arr,n);
   return 0;
}

আউটপুট

Distinct numbers of the array are −
1 5 7 12 6 10

  1. একটি প্রদত্ত উত্স থেকে একটি গন্তব্য C++ এ সমস্ত পথ প্রিন্ট করুন

  2. C++ এ প্রদত্ত অ্যারের উপাদানগুলির ফ্যাক্টোরিয়ালের GCD খুঁজুন

  3. C# প্রোগ্রাম একটি প্রদত্ত পূর্ণসংখ্যা অ্যারের সমস্ত স্বতন্ত্র উপাদান C# এ প্রিন্ট করতে

  4. একটি প্রদত্ত পূর্ণসংখ্যা অ্যারের সমস্ত স্বতন্ত্র উপাদান প্রিন্ট করার জন্য পাইথন প্রোগ্রাম।