online: 5; azi: 1396; total: 51851 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 citesc două cuvinte de la tastatură. Să se verifice dacă ele sunt anagrame (conțin aceleași litere). Nu se va ține cont de diferența dintre literele mari şi literele mici. De exemplu, cuvintele arta şi tara sunt anagrame.
# include < iostream >
# include < cstring >
using namespace std ;
int main () {
char cuvant1[ 100 ], cuvant2[ 100 ];
bool anagrama = true ;
cout << " Introduceti primul cuvant : " ;
cin >> cuvant1;
cout << " Introduceti al doilea cuvant : " ;
cin >> cuvant2;
int len1 = strlen (cuvant1);
int len2 = strlen (cuvant2);
if (len1 != len2) { // Dacă cele două cuvinte au lungimi diferite, nu pot fi anagrame
anagrama = false ;
} else {
for ( int i = 0 ; i < len1; i++) {
// Convertim caracterele la litere mici, pentru a nu ține cont de diferența dintre litere mari și litere mici
char c1 = tolower (cuvant1[i]);
char c2 = tolower (cuvant2[i]);
// Căutăm caracterul în celălalt cuvânt și îl ștergem dacă îl găsim
char * poz = strchr (cuvant2, c1);
if ( poz == NULL ) {
anagrama = false ;
break ;
} else {
* poz = ' ' ;
}
}
}
if (anagrama) {
cout << "Cele doua cuvinte sunt anagrame." << endl ;
} else {
cout << "Cele doua cuvinte nu sunt anagrame." << endl ;
}
return 0 ;
}

Explicație: