online: 4; azi: 706; total: 51161 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 citeste de la tastatura un text care contine mai multe propozitii . Propozotiile se considera separate prin: .,! sau ?. Numarati cate propozitii contine textul si afisati :
a) propoziția cu cele mai puţine caractere;
b) propoziţia cu cele mai multe caractere;
c) propoziţia cu cele mai puţine cuvinte;
d) propoziția cu cele mai multe cuvinte.
Voi prezenta un exemplu de program în C++ care rezolvă această problemă folosind funcțiile pentru siruri de caractere precum strlen , strcpy , strtok și strchr .
# include < iostream >
# include < cstring >
using namespace std ;
int main () {
char text[ 1000 ];
char separator[] = ".!?," ;
int prop_count = 0 , min_char_prop = 10000 , max_char_prop = 0 , min_word_prop = 10000 , max_word_prop = 0 ;
char * prop_min_char ;
char * prop_max_char ;
char * prop_min_word ;
char * prop_max_word ;
// Citim textul de la tastatură
cout << " Introduceti textul: " ;
cin. getline (text, 1000 );
// Folosim strtok pentru a separa propozițiile
char * prop = strtok (text, separator);
while ( prop != NULL ) {
prop_count ++;
int prop_len = strlen ( prop );
int word_count = 1 ;
for ( int i = 0 ; i < prop_len ; i++) {
if ( isspace ( prop [i])) {
word_count ++;
}
}
// Verificăm propoziția cu cele mai puține caractere
if ( prop_len < min_char_prop ) {
min_char_prop = prop_len ;
prop_min_char = prop ;
}
// Verificăm propoziția cu cele mai multe caractere
if ( prop_len > max_char_prop ) {
max_char_prop = prop_len ;
prop_max_char = prop ;
}
// Verificăm propoziția cu cele mai puține cuvinte
if ( word_count < min_word_prop ) {
min_word_prop = word_count ;
prop_min_word = prop ;
}
// Verificăm propoziția cu cele mai multe cuvinte
if ( word_count > max_word_prop ) {
max_word_prop = word_count ;
prop_max_word = prop ;
}
prop = strtok ( NULL , separator);
}
// Afisam numarul de propozitii
cout << "Textul contine " << prop_count << " propozitii .\n" ;
// Afisam propozitia cu cele mai putine caractere
cout << " Propozitia cu cele mai putine caractere este: " << prop_min_char << endl ;
// Afisam propozitia cu cele mai multe caractere
cout << " Propozitia cu cele mai multe caractere este: " << prop_max_char << endl ;
// Afisam propozitia cu cele mai putine cuvinte
cout << " Propozitia cu cele mai putine cuvinte este: " << prop_min_word << endl ;
// Afisam propozitia cu cele mai multe cuvinte
cout << " Propozitia cu cele mai multe cuvinte este: " << prop_max_word << endl ;
return 0 ;
}

Programul va avea următoarele funcționalități:
În final, vom afișa cele 4 propoziții găsite folosind funcția cout .