Из двух векторов целых чисел образовать третий
С клавиатуры ввести два вектора целых чисел, (вектор - одномерный массив, длина векторов одинаковая). Образовать новый вектор из общих парных чисел и необщих нечетных чисел двух введенных. Исключить повторения в третем массиве.
Со включением парных общих элементов в массив разобрасля, подскажите пожалуйста, как быть с нечетными необщими элементами? Не удается написать алгоритм их отбора и записи в третий массив. Буду очень благодарен!
Код:
#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]);
}
}
}