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

C++ में घटना के क्रम में वर्ण और उनकी आवृत्तियाँ प्रिंट करें


इस समस्या में, हमें लोअरकेस वर्णों की एक स्ट्रिंग दी गई है। और हमें स्ट्रिंग में आने वाले प्रत्येक वर्ण की आवृत्तियाँ ढूंढनी हैं। नीचे दिया गया उदाहरण इस समस्या के बारे में अधिक बताता है।

Input : "jskdk" Output : j 1 s 1 k 2 d 1

व्याख्या - स्ट्रिंग में, वर्ण j, s, d एक बार आते हैं और k दो बार आता है। इसलिए, प्रिंट किया गया आउटपुट उपरोक्त परिणाम देता है।

अब आइए इस समस्या को हल करने के लिए एक तर्क बनाते हैं। जैसा कि कहा गया है हमें स्ट्रिंग में प्रत्येक वर्ण की घटना की आवृत्ति ढूंढनी है। एक तार्किक तरीका है स्ट्रिंग को ट्रैवर्स करना और एक वर्ण की घटना की आवृत्ति गिनना और इसे एक सरणी में संग्रहीत करना और फिर वर्ण को उनकी घटना की आवृत्ति के साथ प्रिंट करना।

एल्गोरिदम

चरण 1 : आकार 26 की एक सरणी बनाएं जो स्ट्रिंग में वर्णों की आवृत्ति संग्रहीत करे। चरण 2 : सरणी से सभी वर्णों को उनकी घटना की आवृत्ति के साथ प्रिंट करें।

उदाहरण

अब, आइए इस समस्या का समाधान खोजने के लिए एक प्रोग्राम बनाते हैं,

#include <bits/stdc++.h> using namespace std; int main(){     string str = "tutorialspoint";     int n = str.size();     int frequency[26];     memset(frequency, 0, sizeof(frequency));     for (int i = 0; i < n; i++)         frequency[str[i] - 'a']++;     for (int i = 0; i < n; i++) {         if (frequency[str[i] - 'a'] != 0) {             cout<<str[i]<<"\t"<<frequency[str[i] - 'a']<<"\n";             frequency[str[i] - 'a'] = 0;         }     }     return 0; }

आउटपुट

t 3 u 1 o 2 r 1 i 2 a 1 l 1 s 1 p 1 n 1

  1. - C++ में getline (string)

    इसका उपयोग स्ट्रीम से अनफॉर्मेटेड इनपुट के रूप में कैरेक्टर्स निकालने और उन्हें c-स्ट्रिंग के रूप में s में संग्रहीत करने के लिए किया जाता है, जब तक कि निकाला गया कैरेक्टर डिलिमिटिंग कैरेक्टर न हो, या n कैरेक्टर्स s में लिखे जा चुके हों (टर्मिनेटिंग नल कैरेक्टर सहित)। डिक्लेरेशन इस प्रकार है: basic

  1. - C++ में स्ट्रिंग को अवरोही क्रम में क्रमबद्ध करना

    आरोही या अवरोही क्रम में क्रमबद्ध करना, हालांकि, C++ प्रोग्रामिंग में स्ट्रिंग सॉर्ट मेथड और अन्य माध्यमों का उपयोग करके उचित रूप से किया जा सकता है। लेकिन यहां, आंतरिक और बाहरी पार करने वाले लूप में स्ट्रिंग तुलना (पहले शब्द की दूसरे से) और कॉपी (पहले शब्द को अस्थायी चर में कॉपी करना) विधि शामिल है

  1. - C++ में जांचें कि स्ट्रिंग के पहले और अंतिम कैरेक्टर समान हैं या नहीं

    स्ट्रिंग का एक इनपुट दिया गया है और कार्य यह जांचना है कि दी गई स्ट्रिंग के पहले और अंतिम कैरेक्टर समान हैं या नहीं। उदाहरण इनपुट-: study आउटपुट-: समान नहीं    क्योंकि शुरुआती कैरेक्टर s है और स्ट्रिंग का अंतिम कैरेक्टर y है इनपुट-: nitin आउटपुट-: हां, इसके पहले और अंतिम कैरेक्टर समान हैं