কম্পিউটার

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-D ম্যাট্রিক্সের প্রতিটি সারিতে স্ট্রিংয়ের প্রতিটি শব্দ রাখলে স্থান পাওয়া না যাওয়া পর্যন্ত প্রতিটি ব্লকে প্রতিটি অক্ষর সংরক্ষণ করা হয়।
  • strcmp() ফাংশন ব্যবহার করে একটি শব্দের সাথে স্ট্রিং তুলনা করা এবং শব্দটি পাওয়া যায় এমন সারিতে নাল মান রাখুন।
  • অবশেষে, ম্যাট্রিক্সের প্রতিটি সারি প্রিন্ট করে স্ট্রিং প্রিন্ট করা।

উপসংহার

এই নিবন্ধটি একটি স্ট্রিং থেকে একটি প্রদত্ত শব্দ অপসারণ নিয়ে আলোচনা করেছে যেখানে আমরা একটি 2-ডি ম্যাট্রিক্সে স্ট্রিং সংরক্ষণ করে এবং তারপর একটি নাল মান দিয়ে শব্দটি প্রতিস্থাপন করে সমস্যার সমাধান করি। আমরা C++ কোড ব্যবহার করে এই সমস্যার সমাধান করেছি। যাইহোক, আমরা C, Java, Python, ইত্যাদির মতো অন্য যেকোন ভাষা ব্যবহার করে একই সমস্যা সমাধান করতে পারি। আশা করি আপনার এই নিবন্ধটি সহায়ক হবে।


  1. কিভাবে C++ একটি স্ট্রিং থেকে নির্দিষ্ট অক্ষর মুছে ফেলা যায়?

  2. C++ এ স্ট্রিং থেকে ট্রেলিং জিরোস সরান

  3. C++ এ std::string থেকে স্পেস বাদ দিন

  4. C# এ একটি প্রদত্ত স্ট্রিং থেকে সমস্ত সদৃশ সরান