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

C++ में स्ट्रिंग में सेगमेंट की संख्या


समस्या विवरण

मान लीजिए हमारे पास एक स्ट्रिंग s है। हमें स्ट्रिंग में सेगमेंट की संख्या गिननी है, जहां एक सेगमेंट को वर्णों के सन्निकट अनुक्रम (कोई व्हाइटस्पेस नहीं) के रूप में परिभाषित किया गया है।

उदाहरण

यदि इनपुट है: "Hello, I love programming", तो आउटपुट होगा 4, क्योंकि 4 सेगमेंट हैं।

हल करने का दृष्टिकोण

इस समस्या को हल करने के लिए निम्नलिखित चरणों का पालन करें:

  • n := 0
  • i := 0 से आरंभ करें, जब i < s का आकार, i को 1 से बढ़ाते हुए:
    • यदि s[i] व्हाइटस्पेस के बराबर नहीं है:
      • n को 1 से बढ़ाएं
    • जब (i < s का आकार और s[i] व्हाइटस्पेस के बराबर नहीं है):
      • i को 1 से बढ़ाएं
  • n लौटाएं

C++ कार्यान्वयन

#include <bits/stdc++.h>
using namespace std;

class Solution {
public:
    int countSegments(string s) {
        int n = 0;
        for(int i = 0; i < s.size(); i++) {
            if(s[i] != ' ')
                n++;
            while( i < s.size() && s[i] != ' ')
                i++;
        }
        return n;
    }
};

int main() {
    Solution ob;
    cout << (ob.countSegments("Hello, I love programming"));
    return 0;
}

इनपुट

"Hello, I love programming"

आउटपुट

4
  1. - C++ में मितव्ययी संख्या (Frugal Number)

    इस समस्या में, हमें एक धनात्मक पूर्णांक N दिया गया है। हमारा कार्य यह जांचने के लिए एक प्रोग्राम बनाना है कि दी गई संख्या मितव्ययी संख्या है या नहीं। मितव्ययी संख्या (FRUGAL NUMBER) − एक संख्या जिसके अंकों की संख्या उस संख्या के अभाज्य गुणनखंडन में अंकों की संख्या से सख्ती से अधिक है। उदाहरण &

  1. C++ में पेंटाटोप संख्या C++ में पेंटाटोप संख्या

    एक पेंटाटोप संख्या को पास्कल के त्रिभुज में पांचवीं संख्या के रूप में वर्णित किया गया है। अब, चूंकि यह पांचवीं संख्या है, इसका मतलब है कि पास्कल के त्रिभुज में कम से कम पांच संख्याएं होनी चाहिए, इसलिए इस श्रृंखला की पहली संख्या 1 4 6 4 1 से शुरू होती है जो पास्कल के त्रिभुज की चौथी पंक्ति है। तो, इस

  1. - C++ में इंटीजर को हेक्स स्ट्रिंग में बदलना

    इस प्रोग्राम में हम देखेंगे कि इंटीजर को हेक्स स्ट्रिंग में कैसे बदलें। किसी इंटीजर को हेक्साडेसिमल स्ट्रिंग में बदलने के लिए हम गणितीय चरणों का पालन कर सकते हैं। लेकिन इस मामले में हमने एक सरल ट्रिक का उपयोग करके इस समस्या को हल किया है। C/C++ में एक फॉर्मेट स्पेसिफायर %X होता है। यह किसी वेरिएबल