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

C++ में दोहराए गए स्ट्रिंग में वर्ण की घटनाओं की गिनती


समस्या विवरण

एक स्ट्रिंग str, एक वर्ण और एक धनात्मक पूर्णांक N दिया गया है। स्ट्रिंग str अनिश्चित काल तक दोहराई जाती है। लक्ष्य दोहराव के पहले N वर्णों में str में वर्ण की घटनाओं की संख्या ज्ञात करना है।

यदि str "abac" है, वर्ण ch='b' है और N 10 है।

"abacabacabacabac..." के पहले 10 वर्णों में b दो बार आता है।

नोट - str और वर्ण ch को एक ही केस में लें।

उदाहरण

इनपुट

str = "TPTTTT" ch = 'T' n = 12

आउटपुट

दोहराए गए स्ट्रिंग में वर्ण की घटनाओं की गिनती: 10

व्याख्या

str में 'T' की संख्या 5 है। str की लंबाई 6 है। n=12 के लिए, str पूरी तरह से दो बार दोहराया जाएगा, इसलिए T की गिनती 6*2=12 है।

इनपुट

str = "sets" ch = 's' n = 15

आउटपुट

दोहराए गए स्ट्रिंग में वर्ण की घटनाओं की गिनती: 7

व्याख्या

str में 's' की संख्या 2 है। str की लंबाई 4 है। n=15 के लिए, str पूरी तरह से 3 बार दोहराया जाएगा (पहले 12 वर्ण), इसलिए उनमें s की गिनती 3*2=6 होगी। शेष 3 वर्णों (set) के लिए s एक बार आता है। तो गिनती 6+1=7 है।

दृष्टिकोण

इस दृष्टिकोण में हम पहले str में वर्ण ch की घटनाओं की संख्या गिनेंगे। फिर हम str की लंबाई को N से विभाजित करेंगे। हमें N वर्णों के भीतर str के पूर्ण दोहराव की संख्या (N / str की लंबाई) से मिलेगी। इसलिए उन दोहरावों में ch की घटनाएं साधारण गुणनफल होंगी। शेष वर्णों (N % str की लंबाई) के लिए str में फिर से ch गिनें और पिछली गिनती में जोड़ें।

एल्गोरिदम चरण

  • एक स्ट्रिंग str लें।
  • n को पूर्णांक, ch को वर्ण और str की लंबाई को पूर्णांक के रूप में लें।
  • फंक्शन occurrences_char(string str, int length, int n, char ch) str, ch, n और str की लंबाई लेता है और दोहराई गई स्ट्रिंग str के पहले n वर्णों में ch की गिनती लौटाता है।
  • प्रारंभिक गिनती 0 लें।
  • for लूप का उपयोग करके str में ch की घटनाएं गिनें। प्रत्येक str[i]==ch के लिए गिनती बढ़ाएं।
  • str के n में दोहराव की संख्या occ = n / length होगी।
  • इन दोहरावों में ch की घटनाएं count * occ होंगी।
  • शेष n % length वर्णों के लिए जांचें कि str[i]==ch, यदि हां तो गिनती बढ़ाएं।
  • परिणाम के रूप में गिनती लौटाएं।

C++ कोड उदाहरण

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

int occurrences_char(string str, int length, int n, char ch) {
    int count = 0;
    for (int i = 0; i < length; i++) {
        if (str[i] == ch) {
            count++;
        }
    }
    int occ = n / length;
    count = count * occ;
    for (int i = 0; i < n % length; i++) {
        if (str[i] == ch) {
            count++;
        }
    }
    return count;
}

int main() {
    string str = "TPTTTT";
    char ch = 'T';
    int n = 12;
    int length = str.size();
    cout << "दोहराए गए स्ट्रिंग में वर्ण की घटनाओं की गिनती: " << occurrences_char(str, length, n, ch);
    return 0;
}

आउटपुट

दोहराए गए स्ट्रिंग में वर्ण की घटनाओं की गिनती: 10
  1. - JavaScript में स्ट्रिंग में किसी वर्ण की घटनाओं की संख्या कैसे गिनें?

    स्ट्रिंग में किसी वर्ण की घटनाओं की संख्या गिनने के लिए, निम्न कोड चलाकर देखें - उदाहरण <!DOCTYPE html> <html>    <body>       <script>          function displayCount() {             setTimeout(

  1. Android में स्ट्रिंग के प्रत्येक कैरेक्टर की घटनाओं को कैसे गिनें? Android में स्ट्रिंग के प्रत्येक कैरेक्टर की घटनाओं को कैसे गिनें?

    स्ट्रिंग में प्रत्येक कैरेक्टर की घटनाएं गिनना यह उदाहरण दर्शाता है कि Android में स्ट्रिंग में प्रत्येक कैरेक्टर की घटनाओं (occurrences) को कैसे गिना जाता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project पर जाएं और प्रोजेक्ट बनाएं। चरण 2: लेआउट फ़ाइल (res/layout/activity_main.

  1. एक्सेल मास्टर करें: स्ट्रिंग और रेंज में वर्ण या शब्द गिनें जल्दी एक्सेल मास्टर करें: स्ट्रिंग और रेंज में वर्ण या शब्द गिनें जल्दी

    इस ट्यूटोरियल में, हम एक विशेष स्ट्रिंग और एक्सेल में स्ट्रिंग रेंज में एक वर्ण या शब्द की घटनाओं की गणना पर चर्चा करेंगे। अक्सर, हमें एक सेल में या बड़ी मात्रा में डेटा वाले डेटा रेंज में वर्ण की आवृत्ति की गणना करनी होती है। इसलिए, इस गिनती को आसान बनाने के लिए, हम इस लेख में कुछ आसानी से उपयोग हो