इस प्रोग्राम का उद्देश्य C++ प्रोग्रामिंग कोड का उपयोग करके किसी स्ट्रिंग में किसी विशेष शब्द को एस्टरिस्क (*) से बदलना है। इस लक्ष्य को प्राप्त करने में वेक्टर और स्ट्रिंग क्लास के आवश्यक फंक्शन महत्वपूर्ण भूमिका निभाते हैं। एल्गोरिदम निम्नलिखित है:
एल्गोरिदम
शुरुआत चरण-1: स्ट्रिंग इनपुट करें चरण-2: स्ट्रिंग को शब्दों में विभाजित करें और ऐरे लिस्ट में स्टोर करें चरण-3: लंबाई तक लूप चलाएं और एस्टरिस्क को एक वेरिएबल में रखें चरण-4: ऐरे को फोर-ईच लूप से ट्रैवर्स करें और स्ट्रिंग की तुलना बदलने वाले शब्द से करें चरण-5: प्रिंट करें अंत
अब, उपरोक्त एल्गोरिदम के आधार पर निम्नलिखित कोड लिखा गया है। यहां, स्ट्रिंग को विभाजित करने के लिए strtok() मेथड का उपयोग किया गया है जो स्ट्रिंग को विभाजित करके वेक्टर क्लास टाइप की ऐरे लिस्ट लौटाता है।
उदाहरण
#include <cstring>
#include <iostream>
#include <vector>
#include <string.h>
// स्ट्रिंग विभाजित करने का मेथड
std::vector<std::string> split(std::string str, std::string sep) {
char* cstr = const_cast<char*>(str.c_str());
char* current;
std::vector<std::string> arr;
current = strtok(cstr, sep.c_str());
while (current != NULL) {
arr.push_back(current);
current = strtok(NULL, sep.c_str());
}
return arr;
}
int main() {
std::vector<std::string> word_list;
std::cout << "string before replace::" << "Hello ajay yadav ! you ajay you are star" << std::endl;
std::cout << "word to be replaced::" << "ajay" << std::endl;
word_list = split("Hello ajay yadav ! you ajay you are star", " ");
std::string result = "";
// सेंसर बनाने के लिए एस्टरिस्क
// सेंसर शब्द की लंबाई के बराबर "*" टेक्स्ट
std::string stars = "";
std::string word = "ajay";
for (int i = 0; i < word.length(); i++)
stars += '*';
// निकाले गए शब्दों की लिस्ट पर पुनरावृति
int index = 0;
for (std::string i : word_list) {
if (i.compare(word) == 0)
// सेंसर किए गए शब्द को
// बने एस्टरिस्क सेंसर में बदलना
word_list[index] = stars;
index++;
}
// शब्दों को जोड़ना
for (std::string i : word_list) {
result += i + ' ';
}
std::cout << "output::" << result;
return 0;
} ऊपर दिए गए कोड में देखा जा सकता है कि सभी स्ट्रिंग ऑपरेशन कोड retrieveChar() मेथड में बंडल किए गए हैं, जिसे बाद में प्रोग्राम के main() एक्जीक्यूशन में कॉल किया जाता है।
आउटपुट
String before replace::Hello ajay yadav ! you ajay you are star Word to be replaced::ajay Output::Hello **** yadav ! you **** you are star