С++
Задание 1. Даны два массива: А[M] и B[N] (M и N вводятся с клавиатуры). Необходимо создать третий массив минимально возможного размера, в котором нужно собрать элементы массива A, которые не включаются в массив B, без повторений.
Задание 2. Даны два массива: А[M] и B[N] (M и N вводятся из клавиатуры). Необходимо создать третий массив минимально возможного размера, в котором нужно собрать элементы массивов A и B, не являющиеся общими для них, без повторений.
Answers & Comments
Ответ:
Задание 1:
#include <iostream>
using namespace std;
int main() {
int M, N;
cout << "Введите размер массива A: ";
cin >> M;
cout << "Введите размер массива B: ";
cin >> N;
int A[M];
int B[N];
cout << "Введите элементы массива A: ";
for (int i = 0; i < M; i++) {
cin >> A[i];
}
cout << "Введите элементы массива B: ";
for (int i = 0; i < N; i++) {
cin >> B[i];
}
int C[M];
int count = 0;
for (int i = 0; i < M; i++) {
bool found = false;
for (int j = 0; j < N; j++) {
if (A[i] == B[j]) {
found = true;
break;
}
}
if (!found) {
bool alreadyInC = false;
for (int k = 0; k < count; k++) {
if (A[i] == C[k]) {
alreadyInC = true;
break;
}
}
if (!alreadyInC) {
C[count] = A[i];
count++;
}
}
}
cout << "Элементы массива C: ";
for (int i = 0; i < count; i++) {
cout << C[i] << " ";
}
cout << endl;
return 0;
}
Задание 2:
#include <iostream>
using namespace std;
int main() {
int M, N;
cout << "Введите размер массива A: ";
cin >> M;
cout << "Введите размер массива B: ";
cin >> N;
int A[M];
int B[N];
cout << "Введите элементы массива A: ";
for (int i = 0; i < M; i++) {
cin >> A[i];
}
cout << "Введите элементы массива B: ";
for (int i = 0; i < N; i++) {
cin >> B[i];
}
int C[M + N];
int count = 0;
for (int i = 0; i < M; i++) {
bool foundInB = false;
for (int j = 0; j < N; j++) {
if (A[i] == B[j]) {
foundInB = true;
break;
}
}
if (!foundInB) {
bool alreadyInC = false;
for (int k = 0; k < count; k++) {
if (A[i] == C[k]) {
alreadyInC = true;
break;
}
}
if (!alreadyInC) {
C[count] = A[i];
count++;
}
}
}
for (int i = 0; i < N; i++) {
bool foundInA = false;
for (int j = 0; j < M; j++) {
if (B[i] == A[j]) {
foundInA = true;
break;
}
}
if (!foundInA) {
bool alreadyInC = false;
for (int k = 0; k < count; k++) {
if (B[i] == C[k]) {
alreadyInC = true;
break;
}
}
if (!alreadyInC) {
C[count] = B[i];
count++;
}
}
}
cout << "Элементы массива C: ";
for (int i = 0; i < count; i++) {
cout << C[i] << " ";
}
cout << endl;
return 0;
}
отметь как лучший ответ