Получить новый массив, который содержит те элементы из массива В, которых нет в А - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д