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

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

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

Даны два массива: A[n] и B[n]. Необходимо создать третий массив, в котором нужно собрать общие элементы двух массивов. Для работы с массивами используйте указатели.
Листинг программы
  1. int _tmain(int argc, _TCHAR* argv[])
  2. {
  3. setlocale(LC_ALL, "rus");
  4. srand(time(NULL));
  5. const int size1 = 6;
  6. const int size2 = 8;
  7. int mas1[size1], mas2[size2];//создаем 2 массива
  8. int *ptr1 = &mas1[0];//создаем указатели на массивы
  9. int *ptr2 = &mas2[0];
  10. printf("Первый массив:\n");
  11. for (int i = 0; i<size1; i++)
  12. {
  13. *(ptr1 + i) = rand() % 10;
  14. printf("%d ", ptr1[i]);
  15. }
  16. printf("\n");
  17. printf("Второй массив:\n");
  18. for (int i = 0; i<size2; i++)
  19. {
  20. *(ptr2 + i) = rand() % 10;
  21. printf("%d ", ptr2[i]);
  22. }
  23. printf("\n");
  24. int mas3[size1 + size2];//создаем третий массив
  25. int *ptr3 = &mas3[0];
  26. int temp = 0;//переменная для записи элементов в массив
  27. for (int i = 0; i<size1; i++)
  28. {
  29. for (int j = 0; j<size2; j++)
  30. {
  31. if (*(ptr1 + i) == *(ptr2 + j))//если значения в массивах равны, то пишем их в третий массив
  32. {
  33. *(ptr3 + temp) = *(ptr1 + i);
  34. temp++;
  35. break;
  36. }
  37. }
  38. }
  39. printf("третий массив:\n");
  40. for (int i = 0; i<temp; i++)
  41. {
  42. printf("%d ", ptr3[i]);
  43. }
  44. printf("\n");
  45.  
  46. return 0;
  47. }
Все работает. Только как сделать проверку, если общих чисел несколько, чтоб они не писались в третий массив?

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

textual
Листинг программы
  1. int mas3[size1 + size2];//создаем третий массив

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

  1. В первой строке кода создается третий массив с названием mas3.
  2. Размер этого массива определяется как сумма размеров двух других массивов, которые обозначены переменными size1 и size2.
  3. Значение переменной size1 равно 5, а значение переменной size2 равно 3.
  4. Таким образом, размер массива mas3 будет равен 5 + 3 = 8.
  5. Массив mas3 инициализируется нулевыми значениями.

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


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

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

9   голосов , оценка 3.778 из 5

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

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

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