Se consideră vectorii a și b de lungimi n, respectiv n, ordonați crescător. Se știe că există cel puțin o valoare comună celor doi vectori. Să se afișeze toate valorile distincte ale celor doi vectori. (interclasare cu eliminarea dublurilor)

Răspuns :

Răspuns:

#include <bits/stdc++.h>

using namespace std;

ifstream fin("interclasare1.in");

ofstream fout("interclasare1.out");

int n, m, a[100002], b[100002], c[200004];

int main() {

   fin >> n;

   for (int i = 1; i <= n; i++)

       fin >> a[i];

   fin >> m;

   for (int i = 1; i <= m; i++)

       fin >> b[i];

   int i = 1, j = 1, k = 1;

   while (i <= n && j <= m) {

       if (a[i] < b[j]) {

           c[k++] = a[i++];

       }

       else {

               if (a[i] > b[j]) {

                   c[k++] = b[j++];}

               else ++i;

       }

   }

   while(i <= n)

       c[k ++] = a[i ++];

   while(j <= m)

       c[k ++] = b[j ++];

   for (int i = 1; i < k; i++) {

       fout << c[i] << " ";

       if (i % 10 == 0)

           fout << endl;

   }

}

Explicație:

Este problema interclasare1 de pe pbinfo rezolvată de mine în iunie 2019...

vezi, ce nu-ți convine, ștergi...

Succese!!!