online: 3; azi: 120; total: 50575 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 introduce de la tastatură un text în care separarea cuvintelor se face prin cel puţin un spațiu. Să se afişeze cuvintele care conţin o singură consoană şi în rest numai vocale (de exemplu: apa, oaza, roua etc.).
Programul va avea urmatoarele etape:
# include < iostream >
# include < cstring >
using namespace std ;
int main () {
char text[ 100 ];
cout << " Introduceti textul: " ;
cin. getline (text, 100 );
int len = strlen (text);
for ( int i = 0 ; i < len ; i++) {
char cuvant [ 20 ];
int j = 0 ;
while (text[i] != ' ' && i < len ) {
cuvant [j++] = text[i++];
}
cuvant [j] = '\0' ;
int lungime = strlen ( cuvant );
int nr_consoane = 0 ;
int nr_vocale = 0 ;
for ( int k = 0 ; k < lungime; k++) {
if ( cuvant [k] == 'a' || cuvant [k] == 'e' || cuvant [k] == 'i' || cuvant [k] == 'o' || cuvant [k] == 'u' ||
cuvant [k] == 'A' || cuvant [k] == 'E' || cuvant [k] == 'I' || cuvant [k] == 'O' || cuvant [k] == 'U' ) {
nr_vocale ++;
} else {
nr_consoane ++;
}
}
if ( nr_consoane == 1 && nr_vocale == lungime - 1 ) {
cout << cuvant << endl ;
}
}
return 0 ;
}

Explicatia programului:
Observatie : Acest program nu va functiona corect pentru cazurile in care cuvintele contin diacritice sau alte caractere speciale. Pentru a trata aceste cazuri, va trebui sa adaugati cod suplimentar pentru a verifica si alte caractere in afara de literele alfabetului latin.