Înlocuirea unui cuvânt dintr-un text cu un cuvânt dat
Lecție despre înlocuirea unui cuvânt cu altul într-un text folosind doar tablouri de caractere (`char[]`) în C++.
Cerința problemei
Se dă un text și două cuvinte. Se va înlocui primul cuvânt cu al doilea în text.
Exemplu de intrare și ieșire
Intrare:
text = "Căutăm cuvântul cuvântul", cuvantVechi = "cuvântul", cuvantNou = "text"
Ieșire:
Textul modificat: Căutăm text text
Explicația algoritmului
- Citim textul și cuvintele vechi și noi.
- Căutăm cuvântul vechi și îl înlocuim cu cuvântul nou.
- Afișăm textul modificat.
char[]
Implementare C++ folosind Această soluție folosește doar tablouri de caractere (char[]
), fără string
sau alte facilități din C++ Standard Library.
#include <iostream>
#include <cstring> // Pentru strlen() și strstr()
using namespace std;
void inlocuireCuvant(char text[], const char cuvantVechi[], const char cuvantNou[]) {
char rezultat[1000] = "";
char *pozitie = strstr(text, cuvantVechi);
int index = 0;
while (pozitie) {
strncat(rezultat, text + index, pozitie - (text + index));
strcat(rezultat, cuvantNou);
index = (pozitie - text) + strlen(cuvantVechi);
pozitie = strstr(text + index, cuvantVechi);
}
strcat(rezultat, text + index);
strcpy(text, rezultat);
}
int main() {
char text[1000], cuvantVechi[50], cuvantNou[50];
cout << "Introduceti textul: ";
cin.getline(text, 1000);
cout << "Introduceti cuvantul vechi: ";
cin >> cuvantVechi;
cout << "Introduceti cuvantul nou: ";
cin >> cuvantNou;
inlocuireCuvant(text, cuvantVechi, cuvantNou);
cout << "Textul modificat: " << text << endl;
return 0;
}