Algoritm pentru înlocuirea unui subșir dintr-un șir de caractere

Se citește de la tastatură 3 șiruri de caractere. Să se înlocuiască fiecare apariție în primul șir a celui de-al doilea șir cu ultimul.

Exemplu: pentru șirurile: „Mihai are mare nevoie de apă” , „are” și „informatică” se va afișa șirul „Mihai informatică minformatică nevoie de apă”

#include<iostream>
#include<cstring>
using namespace std;
int main()
{
    char s[100],subsir[100],cautat[50],*p, aux[100];
    cout<<"Sir initial?"; cin.get (s,99); cin.get();
    cout<<"Cautat?"; cin.get(cautat, 49); cin.get();
    cout<<"Cu ce se inlocuieste?"; cin.get(subsir, 99);
    p=strstr(s, cautat);
    while (p)
    {
        strcpy (aux, subsir);
        strcat (aux, p+strlen(cautat));
        strcpy(p, aux);
        p=strstr(p+strlen(subsir), cautat);
    }
    cout<<s;
    return 0;
}

De asemenea, ai putea dori...

Lasă un răspuns

Acest sit folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.