কম্পিউটার

C++ এ একটি অ্যারেকে হ্রাসকৃত ফর্মে (হ্যাশিং) রূপান্তর করুন


এই টিউটোরিয়ালে, আমরা হ্যাশিং ব্যবহার করে একটি অ্যারেকে তার সংক্ষিপ্ত আকারে রূপান্তর করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব।

এর জন্য আমাদের একটি অ্যারে দেওয়া হবে। আমাদের কাজ হল প্রদত্ত অ্যারেটিকে তার সংক্ষিপ্ত আকারে রূপান্তর করা যাতে এতে শুধুমাত্র 0 থেকে n-1 পর্যন্ত উপাদান থাকে৷

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
//converting array to its reduced form
void convert(int arr[], int n){
   // copying the elements of array
   int temp[n];
   memcpy(temp, arr, n*sizeof(int));
   sort(temp, temp + n);
   //creating a hash table
   unordered_map<int, int> umap;
   int val = 0;
   for (int i = 0; i < n; i++)
   umap[temp[i]] = val++;
   //putting values in the hash table
   for (int i = 0; i < n; i++)
   arr[i] = umap[arr[i]];
}
void print_array(int arr[], int n) {
   for (int i=0; i<n; i++)
      cout << arr[i] << " ";
}
int main(){
   int arr[] = {10, 20, 15, 12, 11, 50};
   int n = sizeof(arr)/sizeof(arr[0]);
   cout << "Given Array :\n";
   print_array(arr, n);
   convert(arr , n);
   cout << "\nConverted Array:\n";
   print_array(arr, n);
   return 0;
}

আউটপুট

Given Array :
10 20 15 12 11 50
Converted Array:
0 4 3 2 1 5

  1. স্ট্রিংকে C++ এ চার অ্যারেতে রূপান্তর করুন

  2. একটি C++ ফাংশনে একটি 2D অ্যারে পাস করা

  3. কিভাবে একটি int কে C++ এ স্ট্রিং এ রূপান্তর করবেন?

  4. একটি C++ ফাংশনে একটি অ্যারে পাস করা