Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <time.h>
- #include <stdlib.h>
- const int ARR_SIZE = 5;
- void fillArr(int arr[], int size);
- int Intersect(int arr1[], int arr2[], int sum_size, int *res);
- void showArr(int *res, int size);
- int main()
- {
- srand(time(NULL));
- int arr1[ARR_SIZE]; // объявляем массивы, указатель на массив результата
- int arr2[ARR_SIZE];
- int result[ARR_SIZE + 1];
- int *ptr = result;
- int i = 0;
- fillArr(arr1, ARR_SIZE); fillArr(arr2, ARR_SIZE); // заполняем массивы случайными числами
- printf("First array: \n");
- for (i; i < ARR_SIZE; i++) // выводим массивы на экран
- {
- printf("%d", arr1[i]);
- printf("\n");
- }
- printf("Second array: \n");
- for (i = 0; i < ARR_SIZE; i++)
- {
- printf("%d", arr2[i]);
- printf("\n");
- }
- int sum = 2 * ARR_SIZE;
- int size = Intersect(arr1, arr2, sum, ptr); // находим пересечения, изменяем массив результата по указателю, возвращаем место, до которого выводим массив результата (size)
- printf("Result: \n");
- showArr(ptr, size);
- getchar(); // чтобы окно не закрылось сразу в OS Windows
- return 0;
- }
- void fillArr(int arr[], int size)
- {
- int i = 0;
- for (i = 0; i < size; i++)
- {
- arr[i] = rand() % 5; // присваиваем части массива числа от 0 до 5
- }
- }
- int Intersect(int arr1[], int arr2[], int sum_size, int *res)
- {
- int i = 0;
- int size = 0;
- int count = 0;
- short bad_num = 0;
- for (i = 0; i < ARR_SIZE; i++)
- {
- int j = 0;
- int isBad = 0;
- for (j = 0; j < ARR_SIZE; j++)
- {
- if (arr1[i] == arr2[j]) // если одно из чисел первого массива равно хоть одному числу второго, то:
- {
- size++;
- res[size] = arr1[i];
- }
- }
- }
- return size;
- }
- void showArr(int *res, int size) // простая функция для показа массива без повторяющихся элементов
- {
- int i = 0;
- int j = 0;
- int count = 0;
- for (i = 1; i < size; i++)
- {
- int temp = res[i];
- for (j = 1; j < size; j++)
- if (temp == res[j])
- count++;
- if (count == 1)
- printf("%d ", temp);
- count = 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement