কম্পিউটার টিউটোরিয়াল

C-তে টেক্সটে একটি শব্দকে অন্য শব্দ দিয়ে রিপ্লেস করা

তিনটি স্ট্রিং: text, oldWord, newWord দেওয়া আছে। text-এ oldWord-এর সব অকারেন্স newWord দিয়ে রিপ্লেস করতে হবে।

উদাহরণ

ইনপুট: text="I am learning programming", oldWord="learning", newWord="practicing"

আউটপুট: "I am practicing programming"

পদ্ধতি

  • প্রথমে oldWord-এর সংখ্যা কাউন্ট করা হয় (strstr ব্যবহার করে)।
  • নতুন স্ট্রিংয়ের জন্য মেমরি অ্যালোকেট করা হয় (লেন্থ অ্যাডজাস্ট করে)।
  • দ্বিতীয় পাসে text ট্রাভার্স করে oldWord পেলে newWord কপি করা হয়, অন্যথায় ক্যারেক্টার কপি।

C প্রোগ্রাম উদাহরণ

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void replaceWordInText(const char* text, const char* oldWord, const char* newWord) {
    int i=0, cnt=0;
    int len1=strlen(newWord), len2=strlen(oldWord);
    for (i=0; text[i]; i++)
        if (strstr(&text[i], oldWord) == &text[i]) { cnt++; i += len2-1; }
    char* newString = (char*)malloc(i + cnt*(len1-len2) + 1);
    i = 0;
    while (*text) {
        if (strstr(text, oldWord) == text) {
            strcpy(&newString[i], newWord);
            i += len1; text += len2;
        } else newString[i++] = *text++;
    }
    printf("New String: %s\n", newString);
}

int main() {
    char str[] = "I am learning programming";
    char c[] = "learning", d[] = "practicing";
    printf("Original: %s\n", str);
    replaceWordInText(str, c, d);
    return 0;
}

আউটপুট

Original string: I am learning programming
New String: I am practicing programming
  1. দেওয়া ইন্টিজারে সব শূন্যকে এক দিয়ে রিপ্লেস করার C প্রোগ্রাম

  2. দেওয়া লিস্টের মেডিয়ান (Median) বের করার C প্রোগ্রাম

  3. C প্রোগ্রাম: দেওয়া সংখ্যাকে শব্দে রূপান্তর করা

  4. Microsoft Word-এ টেক্সট সর্টিং মাস্টার করুন: ধাপে ধাপে গাইড