Даны два массива целых чисел. Получить последовательность, состоящую из тех членов первой последовательности, которых нет во второй. Мой код #include <iostream> using namespace std; int main() { setlocale(LC_CTYPE, "Russian"); system("color f0"); int const n = 5; int a[n], b[n], i,j; for (i = 0; i < n; i++) { cout << "Введите число для 1 массива:\n"; cin >> a[i]; } for (i = 0; i < n; i++) { cout << "Введите число для 2 массива:\n"; cin >> b[i]; } cout << "Массив 1:\n"; for (i = 0; i < n; i++) { cout << a[i]<<"\t"; } cout << "\nМассив 2:\n"; for (i = 0; i < n; i++) { cout << b[i]<<"\t"; } cout << "\nРезультат:\n"; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { if (a[i] != b[i]) { cout << a[i]<<"\t"; break; } } } return 0; } C #include <iostream> using namespace std; int main() { setlocale(LC_CTYPE, "Russian"); system("color f0"); int const n = 5; int a[n], b[n], i,j; for (i = 0; i < n; i++) { cout << "Введите число для 1 массива:\n"; cin >> a[i]; } for (i = 0; i < n; i++) { cout << "Введите число для 2 массива:\n"; cin >> b[i]; } cout << "Массив 1:\n"; for (i = 0; i < n; i++) { cout << a[i]<<"\t"; } cout << "\nМассив 2:\n"; for (i = 0; i < n; i++) { cout << b[i]<<"\t"; } cout << "\nРезультат:\n"; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { if (a[i] != b[i]) { cout << a[i]<<"\t"; break; } } } return 0; } 1 результат Если вводить в такой последовательности, то всё выходит правильно 2 результат А в такой, программа не видит общих членов в массивах
Дело в том, что ты проводишься по одинаковым индексам в обеих массивах, и у тебя вторая часть двойного цикла вообще не юзается, хд. щя напишу
нелепость, в задаче просит элементы, которых нет во втором массиве, а ты просто проверяешь равенство значений одних и тех же индексов в массиве. У тебя массив из 5 элементов, поэтому можно просто каждый элемент из первого массива сравнить с каждым элементом из второго и если там совпадает число, то не выводить его, всё.