हमें अक्षरों की एक स्ट्रिंग दी गई है। कार्य उस चरित्र को ढूंढना है जिसमें स्ट्रिंग में लगातार सबसे लंबे समय तक दोहराव होता है। आइए उदाहरणों से समझते हैं।
इनपुट -स्ट्रिंग[] ="abbbbbbbbcdd"
आउटपुट - ख
स्पष्टीकरण -उपरोक्त स्ट्रिंग में, सबसे लंबा क्रमागत क्रम 'b' वर्ण का है। लगातार b की संख्या 4 है।
इनपुट - स्ट्रिंग [] ="आबकदीईद"
आउटपुट - ख
स्पष्टीकरण -उपरोक्त स्ट्रिंग में, सबसे लंबा क्रमागत क्रम 'e' वर्ण का है। लगातार ई की संख्या 5 है।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
वर्ण सरणी string1[] का उपयोग अक्षर की स्ट्रिंग को संग्रहीत करने के लिए किया जाता है।
-
फ़ंक्शन maxRepeating(char str[], int n) दो इनपुट पैरामीटर लेता है। स्ट्रिंग ही, इसका आकार। लगातार सबसे लंबे दोहराव अनुक्रम के साथ चरित्र देता है।
-
स्ट्रिंग को str[] में पहली स्थिति से अंतिम तक ट्रैवर्स करें।
-
यदि str[i] और अगला str[i+1] समान है, तो वृद्धि की संख्या ।
-
यदि वह संख्या अधिकतम है, तो मान को maxC में और वर्ण को repchar में संग्रहीत करें।
-
अंतिम परिणाम के रूप में repchar लौटाएं।
उदाहरण
#include <iostream> #include <iostream> char maxRepeating(char str[], int n){ int count = 0; char repchar = str[0]; int maxC = 1; for (int i=0; i<n; i++){ if (str[i] == str[i+1] && i < n-1 ) maxC++; else{ if (maxC > count){ count = maxC; repchar = str[i]; } maxC = 1; } } return repchar; } int main(){ char string1[] = "aaabbaacccddef"; int N=14; printf("Maximum Consecutive repeating character in string: %c",maxRepeating(string1,N)); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Maximum Consecutive repeating character in string: a