Получить новый массив, который содержит те элементы из массива В, которых нет в А - 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;
}

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

В этом коде:

  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
Похожие ответы