Даны два массива чисел. Требуется вывести те элементы первого массива (в том порядке, в каком они идут в первом массиве), которых нет во втором массиве. Входные данные
Во входном файле записано сначала число N - количество элементов в первом массиве, затем N чисел - элементы массива.
Затем записано число M - количество элементов во втором массиве. Затем записаны элементы второго массива.
Количество элементов каждого массива не превышает 100. Сами элементы по модулю не превышают 1000. Все числа целые
Выходные данные
В выходной файл выведите те элементы первого массива, которых нет во втором в том порядке, в каком они идут в первом массиве.
Пример входного файла
7
3 1 3 4 2 4 12
6
4 15 43 1 15 1
Пример выходного файла
3 3 2 12
Решить на C++
1. Считываем входные данные:
- Сначала считываем число N - количество элементов в первом массиве.
- Затем считываем N чисел - элементы первого массива.
- Далее считываем число M - количество элементов во втором массиве.
- Затем считываем M чисел - элементы второго массива.
Например, в нашем примере входных данных:
- N = 7
- Первый массив: [3, 1, 3, 4, 2, 4, 12]
- M = 6
- Второй массив: [4, 15, 43, 1, 15, 1]
2. Создаем пустой массив result для хранения элементов первого массива, которых нет во втором массиве.
3. Проходим по каждому элементу первого массива и проверяем, есть ли он во втором массиве:
- Если элемента нет во втором массиве, добавляем его в массив result.
4. Выводим элементы массива result, которые представляют собой элементы первого массива, не содержащиеся во втором массиве.
Приведу реализацию на языке C++:
```cpp
#include
#include
int main() {
// Шаг 1: считываем входные данные
int N;
std::cin >> N;
std::vector
for (int i = 0; i < N; i++) {
std::cin >> firstArray[i];
}
int M;
std::cin >> M;
std::vector
for (int i = 0; i < M; i++) {
std::cin >> secondArray[i];
}
// Шаг 2: создаем пустой массив для хранения результатов
std::vector
// Шаг 3: проверяем каждый элемент первого массива
for (int i = 0; i < N; i++) {
bool found = false;
// Проверяем, есть ли элемент во втором массиве
for (int j = 0; j < M; j++) {
if (firstArray[i] == secondArray[j]) {
found = true;
break;
}
}
// Если элемента нет во втором массиве, добавляем его в результат
if (!found) {
result.push_back(firstArray[i]);
}
}
// Шаг 4: выводим результат
for (int i = 0; i < result.size(); i++) {
std::cout << result[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
Теперь мы можем скомпилировать и запустить эту программу, чтобы получить ожидаемый вывод:
```
Входные данные:
7
3 1 3 4 2 4 12
6
4 15 43 1 15 1
Выходные данные:
3 3 2 12
```
Надеюсь, это понятно и полезно для школьника. Если возникнут дополнительные вопросы, пожалуйста, дайте мне знать!