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

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


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

इसलिए, यदि इनपुट ["t","h","e"," ","m","a","n"," ","i","s"," ","n","l","c","e"] जैसा है, तो आउटपुट ["n","i","c","e"," ","i","s"," ","m","a","n"," ","t","h","e"] होगा।

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

  • सरणी s को रिवर्स करें

  • j := 0

  • n := s का आकार

  • i := 0 से आरंभ करें, जब i < n, अपडेट करें (i को 1 से बढ़ाएं), करें -

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

      • सरणी s को इंडेक्स j से i तक रिवर्स करें

      • 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 प्रोग्राम: सरणी को उलटें (Reverse Array) C प्रोग्राम: सरणी को उलटें (Reverse Array)

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

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

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

  1. - C# में सरणी को उल्टा करना (Array.Reverse)

    C# में Array.Reverse() स्टेटिक मेथड सरणी के तत्वों के क्रम को उल्टा (रिवर्स) कर देता है। यह मूल सरणी को संशोधित करता है (इन-प्लेस)। उदाहरण using System; class Demo { static void Main() { int[] arr = { 15, 16, 17, 18 }; // मूल सरणी Console.WriteLine(Original Array:);