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

सी ++ में वर्ण सरणी के रूप में संग्रहीत वाक्य शब्दों को उलटने का कार्यक्रम

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

इसलिए, यदि इनपुट ["t", "h", "e", ","m", "a", "n", ","i", "s", "" "," जैसा है n", "एल", "सी", "ई"], तो आउटपुट ["एन", "एल", "सी", "ई", ","i", "एस", " ","एम", "ए", "एन", "," टी "," एच "," ई "]

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • सरणी s को उलट दें

  • जे:=0

  • n :=s का आकार

  • इनिशियलाइज़ i:=0 के लिए, जब i

    • यदि s[i] ' ' के समान है, तो -

      • सरणी s को अनुक्रमणिका j से i तक उलट दें

      • जे:=मैं + 1

  • सरणी s को अनुक्रमणिका j से n में उलट दें

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

#include <bits/stdc++.h>
using namespace std;
void print_vector(vector<auto> v){
   cout << "[";
   for(int i = 0; i<v.size(); i++){
      cout << v[i] << ", ";
   }
   cout << "]"<<endl;
}
class Solution {
   public:
   void reverseWords(vector<char>& s) {
      reverse(s.begin(), s.end());
      int j = 0;
      int n = s.size();
      for(int i = 0; i < n; i++){
         if(s[i] == ' '){
            reverse(s.begin() + j, s.begin() + i);
            j = i + 1;
         }
      }
      reverse(s.begin() + j, s.begin() + n);
   }
};
main(){
   Solution ob;
   vector<char> v = {'t','h','e',' ','m','a','n',' ','i','s','
   ','n','i','c','e'};
   ob.reverseWords(v);
   print_vector(v);
}

इनपुट

{'t','h','e',' ','m','a','n',' ','i','s',' ','n','i','c','e'}

आउटपुट

[n, i, c, e, , i, s, , m, a, n, , t, h, e, ]

  1. सरणी को उलटने के लिए C प्रोग्राम लिखें

    एक सरणी संबंधित वस्तुओं का एक समूह है जो एक सामान्य नाम से संग्रहीत होता है। सिंटैक्स एक सरणी घोषित करने के लिए सिंटैक्स इस प्रकार है - datatype array_name [size]; आरंभीकरण घोषणा के समय एक ऐरे को भी इनिशियलाइज़ किया जा सकता है - int a[5] = { 10,20,30,40,50}; सी में उलटा सरणी हम स्वैपिंग तकनीक क

  1. C++ में किसी सरणी की बिटनोसिटी की जांच करने का कार्यक्रम

    एन पूर्णांकों की एक सरणी गिरफ्तारी [एन] को देखते हुए, कार्य यह जांचना है कि दिया गया सरणी बिटोनिक है या नहीं। यदि दी गई सरणी बिटोनिक है तो हां यह एक बिटोनिक सरणी है प्रिंट करें, अन्यथा प्रिंट करें नहीं यह एक बिटोनिक सरणी नहीं है। एक बिटोनिक सरणी तब होती है जब सरणी पहले सख्ती से बढ़ते क्रम में होती

  1. सी # प्रोग्राम एक सरणी को उलटने के लिए

    सबसे पहले, मूल सरणी सेट करें - int[] arr = { 15, 16, 17, 18 }; // Original Array Console.WriteLine("Original Array= "); foreach (int i in arr) {    Console.WriteLine(i); } अब, सरणी को उलटने के लिए Array.reverse() विधि का उपयोग करें - Array.Reverse(arr); उदाहरण सी#में किसी सरणी क