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

C++ का उपयोग करके किसी दिए गए शब्द को स्ट्रिंग से निकालें

इस लेख में, हम किसी दिए गए शब्द को किसी दिए गए स्ट्रिंग से हटाने की समस्या को हल करेंगे। उदाहरण के लिए -

Input : str = “remove a given word ”, word = “ remove ”
Output : “ a given word ”

Input : str = “ god is everywhere ”, word = “ is ”
Output : “ god everywhere ”

समाधान खोजने के लिए दृष्टिकोण

उदाहरण के लिए, हम किसी शब्द को स्ट्रिंग से हटाने के लिए एक सरल दृष्टिकोण का उपयोग कर सकते हैं।

  • सबसे पहले, दिए गए स्ट्रिंग को 2-डी मैट्रिक्स रूप में रखें, जहां प्रत्येक शब्द प्रत्येक पंक्ति में संग्रहीत होता है।
  • मैट्रिक्स में शब्द ढूंढें और उस पंक्ति को रिक्त वर्ण से बदलें जहां शब्द है।
  • आखिरकार, क्रमित स्ट्रिंग को प्रिंट करें।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int remove_word (string str, char word[]) {
   char matrix[10][30];
   int i = 0, j = 0, k = 0, len1 = 0, len2 = 0;

   // putting each word of string into the rows of the 2-D matrix.
   for (i = 0; str[i] != '\0'; i++) {
      if (str[i] == ' ') {
         matrix[k][j] = '\0';
         k++;
         j = 0;
      }else{
         matrix[k][j] = str[i];
         j++;
      }
   }
   // looking for the word in a given string and putting a null character when the word is found.
   matrix[k][j] = '\0';
   j = 0;
   for (i = 0; i < k + 1; i++) {
      if (strcmp (matrix[i], word) == 0) {
         matrix[i][j] = '\0';
      }
   }

   j = 0;
   // printing the reordered string.
   for (i = 0; i < k + 1; i++){
      if (matrix[i][j] == '\0')
         continue;
      else
         cout << matrix[i] << " ";
   }

   cout << "\n";
}

int main () {
   char str1[] = "remove a given word", word1[] = "remove";
   char str2[] = "god is everywhere", word2[]="is";
   // calling a function to remove a word from a string and print it.
   remove_word (str1, word1);
   remove_word (str2, word2);

   return 0;
}

आउटपुट

a given word
god everywhere

उपरोक्त कोड की व्याख्या

  • कुछ मानों के साथ स्ट्रिंग और सरणी को प्रारंभ करना और दिए गए शब्द को हटाने के लिए कॉलिंग फ़ंक्शन।
  • एक लूप का उपयोग करके स्ट्रिंग के प्रत्येक शब्द को 2-डी मैट्रिक्स की प्रत्येक पंक्ति में रखना, प्रत्येक वर्ण को प्रत्येक ब्लॉक में तब तक संग्रहीत करना जब तक कि स्थान न मिल जाए।
  • strcmp() फ़ंक्शन का उपयोग करके किसी शब्द के साथ स्ट्रिंग की तुलना करना और उस पंक्ति में शून्य मान डालना जहां शब्द पाया जाता है।
  • आखिरकार, मैट्रिक्स की प्रत्येक पंक्ति को प्रिंट करके स्ट्रिंग को प्रिंट करना।

निष्कर्ष

इस लेख में एक स्ट्रिंग से किसी दिए गए शब्द को हटाने पर चर्चा की गई जहां हम स्ट्रिंग को 2-डी मैट्रिक्स में संग्रहीत करके समस्या को हल करते हैं और फिर शब्द को शून्य मान से बदल देते हैं। हमने सी ++ कोड का उपयोग करके इस समस्या को हल किया। हालाँकि, हम उसी समस्या को किसी अन्य भाषा जैसे C, Java, Python, आदि का उपयोग करके हल कर सकते हैं। आशा है कि आपको यह लेख मददगार लगा होगा।


  1. C++ में स्ट्रिंग से अनुगामी शून्य निकालें

    इस प्रोग्राम में हम देखेंगे कि C++ में एक स्ट्रिंग से अनुगामी शून्य को कैसे हटाया जाए। कभी-कभी कुछ स्ट्रिंग में 00023054 जैसे अनुगामी शून्य हो सकते हैं। इस प्रोग्राम को निष्पादित करने के बाद, यह केवल 23054 लौटाएगा। प्रारंभिक शून्य हटा दिए जाते हैं। Input: A string with trailing zeros “00002350

  1. सी++ में std::string से रिक्त स्थान निकालें

    इस प्रोग्राम में हम देखेंगे कि C++ में std::string से स्पेस को कैसे हटाया जाए। इसे हटाने के लिए हम रिमूव () फंक्शन का इस्तेमाल करेंगे। इस रिमूव () फ़ंक्शन के साथ यह इटरेटर की शुरुआत और अंत लेता है, फिर तीसरा तर्क लेता है जिसे उस इटरेटर ऑब्जेक्ट से हटा दिया जाएगा। Input: A string "This is C++ Pr

  1. सी # में किसी दिए गए स्ट्रिंग से सभी डुप्लीकेट हटाएं

    यहाँ स्ट्रिंग है। string str = "ppqqrr"; अब, स्ट्रिंग को चार में मैप करने के लिए हैशसेट का उपयोग करें। यह एक स्ट्रिंग से डुप्लिकेट वर्णों को हटा देगा। var res = new HashSet<char>(str); आइए देखें पूरा उदाहरण - उदाहरण using System; using System.Linq; using System.Collections.Generic;