Numărarea aparițiilor unui cuvânt într-un text
Lecție despre determinarea numărului de apariții ale unui cuvânt într-un text dat folosind doar tablouri de caractere (`char[]`) în C++.
Cerința problemei
Se dă un text și un cuvânt. Se va determina de câte ori apare cuvântul într-un text, țin modul exact (fără a lua in considerare variațiuni cu punctuație sau majuscule/minuscule).
Exemplu de intrare și ieșire
Intrare:
text = "Căutăm cuvântul cuvântul", cuvant = "cuvântul"
Ieșire:
Cuvântul 'cuvântul' apare de 2 ori într-un text.
Explicația algoritmului
- Citim textul de la tastatură.
- Citim cuvântul căutat de la utilizator.
- Parcurgem textul, extrăgând fiecare cuvânt individual.
- Comparăm fiecare cuvânt extras cu cel căutat.
- Incrementăm contorul de apariții dacă găsim o potrivire exactă.
- Afișăm rezultatul.
char[]
Implementare C++ folosind Această soluție folosește doar tablouri de caractere (char[]
), fără string
sau stringstream
.
#include <iostream>
#include <cstring> // Pentru strlen() si strcmp()
using namespace std;
int main() {
char text[1000], cuvant[50], cuvantText[50];
int aparitii = 0, j = 0;
cout << "Introduceti textul: ";
cin.getline(text, 1000);
cout << "Introduceti cuvantul cautat: ";
cin >> cuvant;
int len = strlen(text);
for (int i = 0; i <= len; i++) {
if (text[i] != ' ' && text[i] != '\0') {
cuvantText[j++] = text[i];
} else {
cuvantText[j] = '\0';
if (strcmp(cuvantText, cuvant) == 0) {
aparitii++;
}
j = 0;
}
}
cout << "Cuvantul '" << cuvant << "' apare de " << aparitii << " ori in text." << endl;
return 0;
}