Вопрос задан 14.07.2023 в 09:35. Предмет Информатика. Спрашивает Григорьева Александра.

C++ Даны два массива чисел. Требуется вывести элементы первого массива (в том порядке, в каком

они идут в первом массиве), которых нет во втором массиве. Входные данные Записано сначала число N - количество элементов в первом массиве, затем N чисел - элементы массива. Затем записано число M – количество элементов во втором массиве. Затем записаны элементы второго массива. Количество элементов каждого массива не превышает 100. Сами элементы -числа из диапазона int. Выходные данные Выведите те элементы первого массива, которых нет во втором в том порядке, в каком они идут в первом массиве. Пример Вход Выход 7 3 1 3 4 2 4 12 6 4 15 43 1 15 1 3 3 2 12
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Мельник Никита.

#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

int main()

{

   vector <int> arr1;

   vector <int> arr2;

   int n;

   

   cin >> n;

   for(int i = 0 ; i < n ; ++i)

   {

       int temp; cin >> temp;

       arr1.push_back(temp);

   }

   cin >> n;

   for(int i = 0 ; i < n ; ++i)

   {

       int temp; cin >> temp;

       arr2.push_back(temp);

   }

   for(int i = 0 ; i < arr1.size() ; i++)

       if(find(arr2.begin(), arr2.end(), arr1[i]) == arr2.end())

           cout << arr1[i] << ' ';

}


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример решения задачи на C++:

cpp
#include <iostream> #include <unordered_set> #include <vector> int main() { int n; std::cin >> n; std::vector<int> firstArray(n); for (int i = 0; i < n; i++) { std::cin >> firstArray[i]; } int m; std::cin >> m; std::unordered_set<int> secondArray; for (int i = 0; i < m; i++) { int num; std::cin >> num; secondArray.insert(num); } for (int num : firstArray) { if (secondArray.find(num) == secondArray.end()) { std::cout << num << " "; } } return 0; }

Пояснения к коду:

  1. Мы используем std::vector<int> для хранения первого массива и std::unordered_set<int> для хранения второго массива. std::unordered_set позволяет быстро проверять наличие элементов в наборе.
  2. Сначала считываем количество элементов n первого массива.
  3. Затем считываем n элементов первого массива и сохраняем их в firstArray.
  4. Затем считываем количество элементов m второго массива.
  5. Затем считываем m элементов второго массива и сохраняем их в secondArray с помощью std::unordered_set.
  6. Далее проходим по каждому элементу num из первого массива (firstArray), и если этот элемент отсутствует во втором массиве (secondArray), выводим его на экран.
  7. Завершаем программу.

Пример входных данных:

7 3 1 3 4 2 4 12 6 4 15 43 1 15 1

Пример выходных данных:

3 2 12

В этом примере элементы 3, 2 и 12 из первого массива отсутствуют во втором массиве.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос