Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ में एक सरणी को कम फॉर्म (जोड़े के वेक्टर का उपयोग करके) में कनवर्ट करें

इस ट्यूटोरियल में, हम जोड़े के वेक्टर का उपयोग करके किसी सरणी को उसके घटे हुए रूप में बदलने के लिए एक प्रोग्राम पर चर्चा करेंगे।

इसके लिए हमें एक सरणी प्रदान की जाएगी। हमारा काम दिए गए एरे को उसके छोटे रूप में बदलना है जैसे कि इसमें केवल 0 से लेकर n-1 तक के तत्व हों।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
//converting array to its reduced form
void convert(int arr[], int n){
   //creating a vector of pairs
   vector <pair<int, int> > v;
   //putting elements in vector
   //with their indexes
   for (int i = 0; i < n; i++)
      v.push_back(make_pair(arr[i], i));
   sort(v.begin(), v.end());
   for (int i=0; i<n; i++)
   arr[v[i].second] = i;
}
//printing the array
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 is :\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++ प्रोग्राम का एक उदाहरण है। एल्गोरिदम Begin Initialize the values of array. Call used defined function accumulate to return the product of array. Print the solution. End. उदाहरण कोड #include <iostream> #include <numeric> using namespace std;

  1. मैं नए का उपयोग करके C++ में 2d सरणी कैसे घोषित करूं?

    एक गतिशील 2D सरणी मूल रूप से सरणियों के लिए पॉइंटर्स की एक सरणी है। यहाँ एक 2D सरणी का आरेख है जिसका आयाम 3 x 4 है। एल्गोरिदम Begin    Declare dimension of the array.    Dynamic allocate 2D array a[][] using new.    Fill the array with the elements.    Print

  1. सी ++ प्रोग्राम पॉइंटर का उपयोग करके एक ऐरे के तत्वों तक पहुंचने के लिए

    पॉइंटर्स मेमोरी लोकेशन या वेरिएबल्स के एड्रेस को स्टोर करते हैं। दूसरे शब्दों में, पॉइंटर्स एक मेमोरी लोकेशन को रेफर करते हैं और उस मेमोरी लोकेशन पर स्टोर किए गए वैल्यू को प्राप्त करना पॉइंटर को डीरेफ्रेंसिंग के रूप में जाना जाता है। एक प्रोग्राम जो किसी सरणी के एक तत्व तक पहुँचने के लिए पॉइंटर्स क