Предмет: Информатика, автор: MSashaZ

С++

Задание 1. Даны два массива: А[M] и B[N] (M и N вводятся с клавиатуры). Необходимо создать третий массив минимально возможного размера, в котором нужно собрать элементы массива A, которые не включаются в массив B, без повторений.

Задание 2. Даны два массива: А[M] и B[N] (M и N вводятся из клавиатуры). Необходимо создать третий массив минимально возможного размера, в котором нужно собрать элементы массивов A и B, не являющиеся общими для них, без повторений.

Ответы

Автор ответа: balissamm
1

Ответ:

Задание 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;

}

отметь как лучший ответ

Похожие вопросы
Предмет: Информатика, автор: sergejip600