online: 4; azi: 1443; total: 53449 Manual clasa a ix a - Implementarea structurilor de date - Structuri de date

Probleme Rezolvate



Manual clasa a IX a

Implementarea structurilor de date

Structuri de date

Se consideră două mulţimi A şi B. Să se verifice dacă :
a) A apartine B;
b) A nu apartinw B;
c) A=B.
Pentru a verifica dacă o mulțime A aparține mulțimii B, trebuie să verificăm dacă toate elementele mulțimii A sunt și în mulțimea B. În caz contrar, mulțimea A nu aparține mulțimii B.
Pentru a verifica dacă o mulțime A nu aparține mulțimii B, trebuie să verificăm dacă există cel puțin un element din mulțimea A care nu se găsește în mulțimea B. În caz contrar, mulțimea A aparține mulțimii B.
Pentru a verifica dacă două mulțimi A și B sunt egale, trebuie să verificăm dacă fiecare element din mulțimea A se găsește și în mulțimea B și viceversa. Dacă acest lucru este adevărat, atunci mulțimile sunt egale.
# include < iostream >
using namespace std ;
const int MAX = 100 ; // dimensiunea maxima a multimiilor
int main () {
int n, m;
cout << " Introduceti lungimea multimii A: " ;
cin >> n;
int a[n];
cout << " Introduceti elementele multimii A: " ;
for ( int i = 0 ; i < n; i++) {
cin >> a[i];
}
cout << " Introduceti lungimea multimii B: " ;
cin >> m;
int b[m];
cout << " Introduceti elementele multimii B: " ;
for ( int i = 0 ; i < m; i++) {
cin >> b[i];
}
bool a_in_b = true ;
for ( int i = 0 ; i < n; i++) {
bool found = false ;
for ( int j = 0 ; j < m; j++) {
if (a[i] == b[j]) {
found = true ;
break ;
}
}
if (! found ) {
a_in_b = false ;
break ;
}
}
if ( a_in_b ) {
cout << "A apartine B.\n" ;
} else {
cout << "A nu apartine B.\n" ;
}
bool a_not_in_b = true ;
for ( int i = 0 ; i < n; i++) {
bool found = false ;
for ( int j = 0 ; j < m; j++) {
if (a[i] == b[j]) {
found = true ;
break ;
}
}
if ( found ) {
a_not_in_b = false ;
break ;
}
}
if ( a_not_in_b ) {
cout << "A nu apartine B.\n" ;
} else {
cout << "A apartine B.\n" ;
}
if (n != m) {
cout << "A nu este egala cu B.\n" ;
} else {
bool a_equal_b = true ;
for ( int i = 0 ; i < n; i++) {
bool found = false ;
for ( int j = 0 ; j < m; j++) {
if (a[i] == b[j]) {
found = true ;
break ;
}
}
if (! found ) {
a_equal_b = false ;
break ;
}
}
if ( a_equal_b ) {
cout << "A este egala cu B.\n" ;
} else {
cout << "A nu este egala cu B.\n" ;
}
}
return 0 ;
}

Explicație: