online: 12; azi: 1038; total: 51493 Manual clasa a x a - Implementarea structurilor de date - Pointeri si siruri de caractere

Manual clasa a X a

Implementarea structurilor de date

Pointeri si siruri de caractere

Se citeşte un text de la tastatură. Cuvintele se consideră separate prin spațiu, virgulă sau punct. Numărați câte cuvinte conține textul.
# include < iostream >
using namespace std ;
int main () {
int numarCuvinte = 0 ;
char caracterAnterior = ' ' ;
char caracterCurent ;
cout << " Introduceti textul: " ;
// citim textul caracter cu caracter
while ( cin. get ( caracterCurent )) {
// daca caracterul curent este spatiu , virgula sau punct
if ( caracterCurent == ' ' || caracterCurent == ',' || caracterCurent == '.' ) {
// daca caracterul anterior nu a fost spatiu , virgula sau punct
if ( caracterAnterior != ' ' && caracterAnterior != ',' && caracterAnterior != '.' ) {
numarCuvinte ++;
}
}
caracterAnterior = caracterCurent ;
}
// daca ultimul caracter nu a fost spatiu , virgula sau punct, inseamna ca a fost ultimul cuvant
if ( caracterAnterior != ' ' && caracterAnterior != ',' && caracterAnterior != '.' ) {
numarCuvinte ++;
}
cout << "Textul contine " << numarCuvinte << " cuvinte.\n" ;
return 0 ;
}

Explicație: