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ăspunsuri la întrebare
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!!!