Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2020, 10:58   #1
Taodin
Пользователь
 
Регистрация: 01.04.2020
Сообщений: 16
По умолчанию Даны два массива чисел. Найти и записать в множество элементов все элементы массивов, которые имеют совпадение (логическая операция «пересечения множеств»). C++(Visual Studio)

Добрый день, помогите пожалуйста! Нужно сделать в C++(Visual Studio)

Даны два массива чисел. Найти и записать в множество элементов все элементы массивов, которые имеют совпадение (логическая операция «пересечения множеств»).
Taodin вне форума Ответить с цитированием
Старый 17.11.2020, 12:05   #2
FrosyaZZ
Форумчанин
 
Регистрация: 16.11.2020
Сообщений: 243
По умолчанию

Напишите в лоб: цикл по одному из массивов - берем очередной элемент и проверяем есть ли он во втором.
FrosyaZZ вне форума Ответить с цитированием
Старый 17.11.2020, 12:17   #3
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,311
По умолчанию

Полагаем, что массивы разной длинны.
1. Выполните сортировку массивов
2. Организуете два счётчика (для каждого массива свой)
3. Просматриваете один массив и инкремент счётчика
4. Сравниваете со вторым массивом (незабываем инкрементировать его счётчик)
Если равны, то в третий массив.
5. Если натолкнулись на конец массива, то break.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 17.11.2020, 14:59   #4
Taodin
Пользователь
 
Регистрация: 01.04.2020
Сообщений: 16
По умолчанию

нужно обязательно использовать указатель
Taodin вне форума Ответить с цитированием
Старый 17.11.2020, 17:42   #5
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,311
По умолчанию

Так используй.
Вроде как при работе с массивами в С - это комильфо.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 17.11.2020, 18:24   #6
ep1ckby
Пользователь
 
Регистрация: 15.10.2020
Сообщений: 20
По умолчанию

Код:
#include <iostream>
using namespace std;

 
int main()
{
	setlocale(0, "");
	int size;
	cin >> size; //
	shared_ptr<int[]> a(new int[size]);
	shared_ptr<int[]> b(new int[size]);
	shared_ptr<int[]> c(new int[size]);
	
	 
	for (int i = 0; i< size; i++) // заполняем массив если он не заполнен руками,
	{                                 // можно вынести за функцию
		a[i] = rand() % 30 + 1; 
	}
	for (int i = 0; i < size; i++) 
	{
		b[i] = rand() % 30 + 1;
	}
	int j = 0, k = 0;
	
	for (int i = 0; i < sizeof(a); i++) // записывает одинаковые числа в 3ий массив
	{
		for (int j = 0; j < sizeof(b); j++) 
		{
			if (a[i] == b[j])
			{				
				c[k] = a[i];
				k++;
			}
		}
	}
	cout << "===============================================================================" << endl;
	for (int i = 0; i < size; i++) // для проверки
	{
		cout << a[i] << endl;
	}
	cout << "===============================================================================" << endl;

	for (int i = 0; i < size; i++) // Для проверки
	{
		cout << b[i] << endl;
	}
	cout << "===============================================================================" << endl;

	for (int i = 0; i < k; i++) // выводим одиновые числа
	{
		cout << c[i] << endl;
	}
}
как то так , если что shared_ptr это указатель
вроде правильно работает )
ep1ckby вне форума Ответить с цитированием
Старый 17.11.2020, 23:16   #7
Taodin
Пользователь
 
Регистрация: 01.04.2020
Сообщений: 16
По умолчанию

спасибо большое))))
Taodin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Записать все положительные элементы, сохраняя их порядок, на начало массива. Visual С++ Taodin Помощь студентам 0 09.04.2020 12:56
Паскаль.Даны два символьных массива,в каждом из которых нет повторяющихся элементов.Есть ли в массивах разные элементы? votsar Помощь студентам 15 27.11.2015 14:06
Даны два символьных массива,в каждом из которых нет повторяющихся элементов.Есть ли в массивах разные элементы?Напишите программу. votsar Помощь студентам 1 27.11.2015 11:01
Задать два массива целых чисел: А(12) и В(6). Найти минимальные элементы этих массивов и поменять.... eragon_ua Помощь студентам 5 15.04.2011 07:58
найти наибольший элемент из элементов одномерного массива,которые имеют парный номер soblaznitel Помощь студентам 0 26.05.2010 22:02