Получить новый массив, который содержит те элементы из массива В, которых нет в А - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Даны два массива: А(п) из п различных чисел и В(т) из т различных чисел. Получить новый массив, который содержит те элементы из массива В, которых нет в А (найти "разность массивов" В и А).Помогите с кодом,что нужно добавить?
Листинг программы
  1. int main()
  2. {setlocale(LC_ALL, "russian");
  3. int i,j,z,k;
  4. int a[N],b[M],c[Z];
  5. printf("\n Введите массив А");
  6. for(i=0;i<N;i++)
  7. scanf("%d",&a[i]);
  8. printf("\n Введите массив В");
  9. for(j=0;j<M;j++)
  10. scanf("%d",&b[j]);
  11. for(i=0;i<N;i++)
  12. if(a[i]!=b[j])
  13. c[k]=a[i];
  14. else
  15. i++;
  16. printf(" c=%d",c[Z]);
  17. printf("\n");
  18. }

Решение задачи: «Получить новый массив, который содержит те элементы из массива В, которых нет в А»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define N 9
  4. #define M 10
  5.  
  6. int main()
  7. {
  8.     int i, j, k = 0, flag = 0, a[N], b[M], c[M] = {};
  9.     puts("Input array a, element");
  10.     for(i = 0; i < N; ++i){
  11.         printf("a[%d] = ", i);
  12.         scanf("%d", &a[i]);
  13.     }
  14.     puts("Input array b, element");
  15.     for(j = 0; j < M; ++j){
  16.         printf("b[%d] = ", j);
  17.         scanf("%d", &b[j]);
  18.     }
  19.     puts("array a:");
  20.     for(i = 0; i < N; ++i)
  21.         printf(" %d", a[i]);
  22.     puts("\narray b:");
  23.     for(j = 0; j < M; ++j)
  24.         printf(" %d", b[j]);
  25.     for(j = 0; j < M; ++j){
  26.         for(i = 0; i < N; ++i){
  27.             if(b[j] == a[i])
  28.                 flag = 1;
  29.         }
  30.         if(!flag){
  31.             c[k] = b[j];
  32.             ++k;
  33.         }
  34.         flag = 0;
  35.     }
  36.     puts("\narray c:");
  37.     for(i = 0; i < k; ++i)
  38.         printf(" %d", c[i]);
  39.     return 0;
  40. }

Объяснение кода листинга программы

В этом коде:

  1. Включаются необходимые заголовочные файлы stdio.h и stdlib.h.
  2. Определяются константы N и M. Первая определяет размер первого массива, вторая - второго.
  3. Создаются и инициализируются массивы a и b. Массив a содержит элементы, которые читаются с клавиатуры, массив b - элементы, которые с клавиатуры вводятся.
  4. Выводится массив a.
  5. Заполняются массив b.
  6. Происходит сравнение элементов массива a и b. Если элемент массива b присутствует в массиве a, то флаг устанавливается в 1.
  7. Если элемент не найден в массиве a, он копируется в массив c.
  8. Выводится массив c.
  9. Вернувшееся значение функции 0.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы