👤

Hei, brainly! Am si eu o problema...
La informatica ne.a pus in clasa sa facem un program care sa determine intersectia a doua multimi, folosind vectorii.
Nu am stiut niciunul si nici nu a dorit sa ne ajute...e proaspat iesit din facultate.
Deci : Determinati intersectia a doua multimi.
Stiu sa doar sa incep :
#include
Using namespace std
Int main (){


Ofer 100 puncte. Va rog, ajutati.ma si daca ati putea lasa si o mica explicatie...


Răspuns :

Ti-am pus mult text, ca sa se inteleaga. Elementele unei multimi sunt ordonate d.p.d.v matematic, deci nu trebuie sa verifici in O(n^2).
#include <iostream>
using namespace std;
int n,i,j,m,v[101],w[101];
int main()
{
  cout<<"Dati numarul de elemente din prima multime:";
  cin>>n;
  for (i=1;i<=n;i++)
  {
      cout<<"Elementul "<<i<<"=";
      cin>>v[i];
  }
    cout<<"Dati numarul de elemente din a doua multime:";
  cin>>m;
  for (i=1;i<=m;i++)
  {
      cout<<"Elementul "<<i<<"=";
      cin>>w[i];
  }
    i=1;j=1;
    while (i<=n && j<=m)
    {
        if (v[i]==w[j])
        {
            cout<<v[i]<<" ";
            j++;
            i++;
        }
        else
            if (v[i]>w[j])
                j++;
            else
                i++;
    }
    return 0;
}