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.