С++
Задание 1. Даны два массива: А[M] и B[N] (M и N вводятся с клавиатуры). Необходимо создать третий массив минимально возможного размера, в котором нужно собрать элементы массива A, которые не включаются в массив B, без повторений.
Задание 2. Даны два массива: А[M] и B[N] (M и N вводятся из клавиатуры). Необходимо создать третий массив минимально возможного размера, в котором нужно собрать элементы массивов A и B, не являющиеся общими для них, без повторений.
Answers & Comments
Ответ:
Объяснение:
Задача 1
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int M, N;
cout << "Enter M and N: ";
cin >> M >> N;
int A[M], B[N], C[M];
cout << "Enter elements of array A: ";
for (int i = 0; i < M; i++) {
cin >> A[i];
}
cout << "Enter elements of array B: ";
for (int i = 0; i < N; i++) {
cin >> B[i];
}
int k = 0;
for (int i = 0; i < M; i++) {
if (find(B, B+N, A[i]) == B+N && find(C, C+k, A[i]) == C+k) {
C[k++] = A[i];
}
}
cout << "Resulting array C: ";
for (int i = 0; i < k; i++) {
cout << C[i] << " ";
}
cout << endl;
return 0;
}
Задача 2
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int M, N;
cout << "Enter M and N: ";
cin >> M >> N;
int A[M], B[N], C[M+N];
cout << "Enter elements of array A: ";
for (int i = 0; i < M; i++) {
cin >> A[i];
}
cout << "Enter elements of array B: ";
for (int i = 0; i < N; i++) {
cin >> B[i];
}
int k = 0;
for (int i = 0; i < M; i++) {
if (find(B, B+N, A[i]) == B+N && find(C, C+k, A[i]) == C+k) {
C[k++] = A[i];
}
}
for (int i = 0; i < N; i++) {
if (find(A, A+M, B[i]) == A+M && find(C, C+k, B[i]) == C+k) {
C[k++] = B[i];
}
}
cout << "Resulting array C: ";
for (int i = 0; i < k; i++) {
cout << C[i] << " ";
}
cout << endl;
return 0;
}