इस समस्या में हमें string str दिया जाता है। हमारा काम C++ में एक स्ट्रिंग में सबसे छोटा और सबसे बड़ा शब्द खोजने के लिए एक प्रोग्राम बनाना है।
समस्या का विवरण - यहां, हमारे पास एक स्ट्रिंग है, हमें उस शब्द को खोजने की आवश्यकता है जिसकी लंबाई स्ट्रिंग के सभी शब्दों में से अधिकतम और न्यूनतम है। शब्द सफेद रिक्त स्थान या शून्य (\ 0) वर्णों का उपयोग करके अलग किया जाता है।
समस्या को समझने के लिए एक उदाहरण लेते हैं
इनपुट
str = “Learn Programming at TutorialsPoint”
आउटपुट
smallest word = at largest word = Tutorialspoint
समाधान दृष्टिकोण
सबसे छोटा और सबसे बड़ा शब्द खोजने के लिए, हम दो इंडेक्स का उपयोग करके प्रत्येक शब्द की लंबाई पाएंगे, एक शब्द की शुरुआत के लिए और एक अंत के लिए जिसे '' (स्पेस कैरेक्टर) या '\0' कैरेक्टर का उपयोग करके चिह्नित किया गया है। फिर प्रारंभ और अंत सूचकांक का उपयोग करके, हम अधिकतम लंबाई और न्यूनतम लंबाई पाएंगे। और वर्तमान शब्द की लंबाई के आधार पर सबसे छोटा और सबसे बड़ा शब्द अपडेट करें।
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम
उदाहरण
#include<iostream> #include<cstring> using namespace std; void minMaxLengthWords(string str){ int StrLength = str.length(); int startIndex = 0, endIndex = 0; int minLength = StrLength, maxLength = 0, currentLength; string smallest, largest; while (endIndex <= StrLength){ if (str[endIndex] != '\0' && str[endIndex] != ' ') endIndex++; else{ currentLength = endIndex - startIndex; if (currentLength < minLength){ smallest = str.substr(startIndex, currentLength); minLength = currentLength; } if (currentLength > maxLength){ largest = str.substr(startIndex, currentLength); maxLength = currentLength; } endIndex++; startIndex = endIndex; } } cout<<"Smallest Word from the string is "<<smallest<<"\n"; cout<<"Smallest Word from the string is "<<largest; } int main() { string a = "Learn Programming at TutorialsPoint"; minMaxLengthWords(a); }
आउटपुट
Smallest Word from the string is at Smallest Word from the string is TutorialsPoint