Răspuns :
Răspuns:
#include <iostream>
using namespace std;
int main() {
int i,j,n,m,a[100],b[1000];
cout<<"n="; cin>>n;
for(i=1;i<=n;i++) cin>>a[i];
cout<<"m= "; cin>>m;
for (i=1;i<=m;i++) cin>>b[i];
int k=m;
for(i=1;i<=n;i++) //parcurg elementele vectorului a
{int ok=1; //pp ca componenta curenta nu este in b
for(j=1;j<=k;j++) //parcurg elem lui b si daca gasesc a[i] in b
if (a[i]==b[j]) ok=0; //ok este 0
if (ok) //daca ok a ramas 1 (adica a[i] nu e in vector
{m++; b[m]=a[i];} //adaug inca o componenta la vectorul b: maresc m cu 1 si adaug a[i] la b
}
// In b voi avea reuniunea celor doi vectori
//o afisez:
for(i=1;i<=m;i++)
cout<<b[i]<<" ";
}
Explicație:
Am facut reuniunea direct in b, adaugand la elementele lui b elementele din a care nu se gaseau printre elementele lui b;
Am retinut val initiala a lui m in k pt a cauta elem din a printre elementele care erau initial in b (nu si in cele adaugate ulterior)
Algoritmul poate fi imbunatatit. Poti sa iti faci un vector separat pt reuniune, etc etc.
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Ne bucurăm dacă informațiile oferite v-au fost de folos. Pentru orice întrebări sau sprijin suplimentar, suntem aici pentru voi – nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și vă sugerăm să ne salvați în lista de site-uri preferate!