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

सी ++ में एक स्ट्रिंग को दूसरे में कॉपी किए बिना क्रमबद्ध क्रम में स्ट्रिंग्स की सरणी प्रिंट करें


एक स्ट्रिंग को दूसरे में कॉपी किए बिना क्रमबद्ध क्रम में स्ट्रिंग्स की एक सरणी मुद्रित करने की समस्या में, हमें स्ट्रिंग की सरणी को सॉर्ट करने की आवश्यकता होती है। यहां प्रोग्रामर सॉर्ट करते समय एक स्ट्रिंग को दूसरी स्ट्रिंग में कॉपी नहीं कर सकता।

आइए अवधारणा को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं:

उदाहरण -

Input : {“Delhi”, “Hyderabad”, “Indore”, “Mumbai”, “Banglore”}
Output : Banglore, Delhi, Hyderabad, Indore, Mumbai

स्पष्टीकरण - लेक्सिकोग्राफिक रूप से ऑर्डरिंग की जाती है। तो, B से शुरू होने वाला बैंगलोर पहले आता है और M से शुरू होने वाला मुंबई सबसे बाद में आता है।

अब, आइए अपनी समस्या का समाधान निकालने का प्रयास करें।

समस्या को हल करने के लिए, हम एक सरणी बना सकते हैं जो इन स्ट्रिंग की सही अनुक्रमणिका को संग्रहीत करती है क्योंकि वास्तव में स्ट्रिंग की स्थिति को बदलने के लिए मुकाबला करने की आवश्यकता होती है। तो यह समस्या को हल करने का एक संभावित तरीका है।

हम एक इंडेक्स ऐरे का उपयोग करेंगे और इसे सॉर्ट करने के लिए सॉर्टिंग तकनीक का उपयोग करेंगे और फिर इसे प्रिंट करेंगे। यहां, हम एक चयन सॉर्ट तकनीक का उपयोग करेंगे जो प्रत्यक्ष तुलना का उपयोग करती है।

उदाहरण

आइए अब कार्य को स्पष्ट करने के लिए एक प्रोग्राम बनाएं -

#include <iostream>
using namespace std;
void sortedStringArray(string arr[], int n){
   int stringIndex[n];
   int i, j, min;
   for (i=0; i<n; i++)
   stringIndex[i] = i;
   for (i=0; i<n-1; i++){
      min = i;
      for (j=i+1; j<n; j++){
         if (arr[stringIndex[min]].compare(arr[stringIndex[j]]) > 0)
            min = j;
      }
      if (min != i){
         int temp = stringIndex[min];
         stringIndex[min] = stringIndex[i];
         stringIndex[i] = temp;
      }
   }
   for (i=0; i<n; i++)
      cout << arr[stringIndex[i]] << ", ";
}
int main(){
   string arr[] = {"Delhi", "Hyderabad", "Indore", "Mumbai", "Banglore"};
   int n = 5;
   sortedStringArray(arr, n);
   return 0;
}

आउटपुट

Banglore, Delhi, Hyderabad, Indore, Mumbai,

  1. C++ में क्रमबद्ध क्रम में बाइनरी ट्री स्तरों को प्रिंट करें

    इस समस्या में, हमें एक बाइनरी ट्री दिया जाता है और हमें सभी नोड्स को उनके मूल्यों के क्रमबद्ध क्रम में एक स्तर पर प्रिंट करना होता है। आइए अवधारणा को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं, इनपुट - आउटपुट - 20 6 15 2 17 32 78 इस समस्या को हल करने के लिए, हमें पेड़ के प्रत्येक स्तर के क्र

  1. सी ++ स्ट्रिंग्स की सरणी

    इस खंड में हम देखेंगे कि C++ में स्ट्रिंग्स की एक सरणी को कैसे परिभाषित किया जाए। जैसा कि हम जानते हैं कि सी में कोई तार नहीं था। हमें कैरेक्टर ऐरे का उपयोग करके स्ट्रिंग्स बनाना है। इसलिए स्ट्रिंग्स की कुछ सरणी बनाने के लिए, हमें वर्णों की एक 2-आयामी सरणी बनानी होगी। प्रत्येक पंक्तियाँ उस मैट्रिक्स

  1. C++ में स्ट्रिंग्स का ऐरे

    स्ट्रिंग कीवर्ड का उपयोग करके C++ में स्ट्रिंग्स की सरणी बनाई जा सकती है। यहां हम इस दृष्टिकोण का उपयोग करके C++ प्रोग्राम पर चर्चा कर रहे हैं। एल्गोरिदम Begin Initialize the elements of array by string keyword. And take string as input. Print the array. End. उदाहरण कोड #include<iostream>