online: 3; azi: 1104; total: 51559 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 de la tastatură trei şiruri de caractere. Să se elimine din al treilea şir caracterele care sunt comune în primele două şiruri .
Pentru a elimina caracterele comune în cele două şiruri de caractere, putem folosi o abordare similară cu cea din problema anterioară. Putem parcurge fiecare caracter din al treilea şir şi verificăm dacă acesta există în primul sau în al doilea şir . Dacă da, atunci îl eliminăm din al treilea şir .
# include < iostream >
# include < string >
using namespace std ;
int main ()
{
string s1, s2, s3;
cout << " Introduceti primul sir: " ;
getline (cin, s1);
cout << " Introduceti al doilea sir: " ;
getline (cin, s2);
cout << " Introduceti al treilea sir: " ;
getline (cin, s3);
int len1 = s1. length ();
int len2 = s2. length ();
int len3 = s3. length ();
// eliminam caracterele comune in al treilea sir
for ( int i = 0 ; i < len3; i++) {
for ( int j = 0 ; j < len1; j++) {
if (s3[i] == s1[j]) {
s3. erase (i, 1 );
len3--;
i--;
break ;
}
}
for ( int j = 0 ; j < len2; j++) {
if (s3[i] == s2[j]) {
s3. erase (i, 1 );
len3--;
i--;
break ;
}
}
}
cout << "Al treilea sir fara caractere comune: " << s3 << endl ;
return 0 ;
}

Programul citeşte cele trei şiruri de caractere de la tastatură, apoi elimină caracterele comune din al treilea şir folosind două bucle for. Buclele for parcurg caracterele şirurilor şi verifică dacă un caracter din al treilea şir există în primul sau în al doilea şir . Dacă da, atunci caracterul este eliminat din al treilea şir . La sfârşit , programul afişează al treilea şir fără caractere comune.