Limba română, întrebare adresată de Utilizator anonim, 8 ani în urmă

188 pbinfo urgent Se dau două cuvinte a şi b şi o propoziţie s formată numai din litere mici ale alfabetului englez şi spaţii. Cerinţa Să se modifice s, înlocuind fiecare apariţie a cuvântului a cu cuvântul b. Date de intrare Fişierul de intrare inlocuirecuvant.in conţine pe prima linie cuvintele a şi b, separate printr-un spaţiu, iar pe a doua linie propoziţia s. Date de ieşire Fişierul de ieşire inlocuirecuvant.out va conţine pe prima linie propoziţia s, modificată în conformitate cu cerinţa. Restricţii şi precizări propoziţia s va avea cel mult 100 caractere cuvintele a şi b vor avea cel mult 10 caractere cuvintele sunt formate numai din litere mici ale alfabetului englez Exemplu inlocuirecuvant.in dar insa dar nu trebuie dar e mai bine astfel inlocuirecuvant.out insa nu trebuie insa e mai bine astfel​

Răspunsuri la întrebare

Răspuns de ana427257
3

Răspuns:

In C++:

#include <bits/stdc++.h>

using namespace std;

ifstream fin("inlocuirecuvant.in");

ofstream fout("inlocuirecuvant.out");

int main()

{

char a[20],b[20],s[500],*p;

fin >> a >> b;

fin.getline(s,500);

fin.getline(s,500);

p = strstr(s,a);

while(p>0)

{

if( (p==s || *(p-1)==' ') && (*(p+strlen(a))<'a' || *(p+strlen(a))>'z') )

{

char t[500];

strcpy(t,p+strlen(a));

strcpy(p,b);

strcpy(p+strlen(b),t);

p = strstr(p+strlen(b) , a);

}

else p = strstr(p+strlen(a) , a);

}

fout << s << "\n";

return 0;

}

Succes! ♡♣♡


ana427257: functia strcpy(a, b) copiaza in a pe b
Alte întrebări interesante