Из двух векторов целых чисел образовать третий

С клавиатуры ввести два вектора целых чисел, (вектор - одномерный массив, длина векторов одинаковая). Образовать новый вектор из общих парных чисел и необщих нечетных чисел двух введенных. Исключить повторения в третем массиве.

Со включением парных общих элементов в массив разобрасля, подскажите пожалуйста, как быть с нечетными необщими элементами? Не удается написать алгоритм их отбора и записи в третий массив. Буду очень благодарен!

Код:

#include<stdio.h>
#include<math.h>

int main(void) {

    int A[100];
    int B[100];
    int C[100];
    
    int a = 0, b = 0;

    printf("Enter the number of coordinates of the vectors: ");
    scanf_s("%d", &a);

    printf("\nEnter %d coordinates of A: ", a);
    for (int i = 0; i < a; i++) {
        scanf_s("%d", &A[i]);
    }

    printf("\nEnter %d coorddinates of B: ", a);
    for (int j = 0; j < a; j++) {
        scanf_s("%d", &B[j]);
    }
    
    
    for (int i = 0; i < a; i++) //Проверка на парные общие элементы и запись в массив С[]
    {
        for (int j = 0; j < a; j++)
        {
            if ((A[i] % 2) == 0)
            {
                if (A[i] == B[j])
                { 
                    C[b] = A[i];
                    b++;

                    for (int m = 0; m < b; m++) //Алгоритм исключения повторов из массива
                    {
                        for (int i = m + 1; i < b; i++)
                        {
                            if (C[m] == C[i])
                            {
                                for (int k = i; k < (b - 1); k++)
                                {
                                    C[k] = C[k + 1];
                                }
                                b--;

                            }
                        }
                    }
                }
            }
        }
    }


    if (b < 1) { //Если массив С[] местит меньше 1 элемента, то выдаем ошибку
        printf("\nNew vector can`t be formed: ");
    }
    else {
        printf("\nCoordinates of the new vector: "); //Вывод значений массива С[]
        for (int i = 0; i < b; i++) {
            printf("%d ", C[i]);
        }
    }
    
} 

Ответы (0 шт):