Получить новый массив, который содержит те элементы из массива В, которых нет в А - C (СИ)
Формулировка задачи:
Даны два массива: А(п) из п различных чисел и В(т) из т различных чисел. Получить новый массив, который содержит те элементы из массива В, которых нет в А (найти "разность массивов" В и А).Помогите с кодом,что нужно добавить?
int main()
{setlocale(LC_ALL, "russian");
int i,j,z,k;
int a[N],b[M],c[Z];
printf("\n Введите массив А");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("\n Введите массив В");
for(j=0;j<M;j++)
scanf("%d",&b[j]);
for(i=0;i<N;i++)
if(a[i]!=b[j])
c[k]=a[i];
else
i++;
printf(" c=%d",c[Z]);
printf("\n");
}Решение задачи: «Получить новый массив, который содержит те элементы из массива В, которых нет в А»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#define N 9
#define M 10
int main()
{
int i, j, k = 0, flag = 0, a[N], b[M], c[M] = {};
puts("Input array a, element");
for(i = 0; i < N; ++i){
printf("a[%d] = ", i);
scanf("%d", &a[i]);
}
puts("Input array b, element");
for(j = 0; j < M; ++j){
printf("b[%d] = ", j);
scanf("%d", &b[j]);
}
puts("array a:");
for(i = 0; i < N; ++i)
printf(" %d", a[i]);
puts("\narray b:");
for(j = 0; j < M; ++j)
printf(" %d", b[j]);
for(j = 0; j < M; ++j){
for(i = 0; i < N; ++i){
if(b[j] == a[i])
flag = 1;
}
if(!flag){
c[k] = b[j];
++k;
}
flag = 0;
}
puts("\narray c:");
for(i = 0; i < k; ++i)
printf(" %d", c[i]);
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Включаются необходимые заголовочные файлы stdio.h и stdlib.h.
- Определяются константы N и M. Первая определяет размер первого массива, вторая - второго.
- Создаются и инициализируются массивы a и b. Массив a содержит элементы, которые читаются с клавиатуры, массив b - элементы, которые с клавиатуры вводятся.
- Выводится массив a.
- Заполняются массив b.
- Происходит сравнение элементов массива a и b. Если элемент массива b присутствует в массиве a, то флаг устанавливается в 1.
- Если элемент не найден в массиве a, он копируется в массив c.
- Выводится массив c.
- Вернувшееся значение функции 0.