С++. С++ написати 2 повних кода
Завдання 1
Дани два масиви: А[M] i B[N] (M i N вводяться з клавіатури). Необхідно створити третій масив мiнiмально можливого розміру, у якому потрібно зібрати елементи масиву А, які не включаються до масиву В, без повторень.
Завдання 2. Дани два масиви: А[М] i B[N] (M i N вводяться з клавіатури). Необхідно створити третій масив мiнiмально можливого розміру, у якому потрібно зібрати елементи масивів А і В, які не є загальними для них, без повторень.
Answers & Comments
Завдання 1:
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int M, N;
cout << "Введіть розмір масиву А: ";
cin >> M;
cout << "Введіть розмір масиву B: ";
cin >> N;
int A[M], B[N];
cout << "Введіть елементи масиву А: ";
for (int i = 0; i < M; i++) {
cin >> A[i];
}
cout << "Введіть елементи масиву B: ";
for (int i = 0; i < N; i++) {
cin >> B[i];
}
sort(A, A + M);
sort(B, B + N);
int C[M];
int size = 0;
for (int i = 0; i < M; i++) {
if (!binary_search(B, B + N, A[i])) {
if (size == 0 || C[size - 1] != A[i]) {
C[size] = A[i];
size++;
}
}
}
cout << "Результат: ";
for (int i = 0; i < size; i++) {
cout << C[i] << " ";
}
cout << endl;
return 0;
}
Завдання 2:
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int M, N;
cout << "Введіть розмір масиву А: ";
cin >> M;
cout << "Введіть розмір масиву B: ";
cin >> N;
int A[M], B[N];
cout << "Введіть елементи масиву А: ";
for (int i = 0; i < M; i++) {
cin >> A[i];
}
cout << "Введіть елементи масиву B: ";
for (int i = 0; i < N; i++) {
cin >> B[i];
}
sort(A, A + M);
sort(B, B + N);
int C[M];
int size = 0;
for (int i = 0; i < M; i++) {
if (find(B, B + N, A[i]) == B + N) {
if (size == 0 || find(C, C + size, A[i]) == C + size) {
C[size] = A[i];
size++;
}
}
}
for (int i = 0; i < N; i++) {
if (find(A, A + M, B[i]) == A + M) {
if (size == 0 || find(C, C + size, B[i]) == C + size) {
C[size] = B[i];
size++;
}
}
}
cout << "Результат: ";
for (int i = 0; i < size; i++) {
cout << C[i] << " ";
}
cout << endl;
return 0;
}