Форум программистов, компьютерный форум CyberForum.ru

Найти элементы, которые встречаются во всех трех массивах - C++

Восстановить пароль Регистрация
 
ASUV
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 10
11.12.2012, 18:01     Найти элементы, которые встречаются во всех трех массивах #1
Заданы три одномерных массива содержащие по n элементов. Написать
программу, которая находит те элементы, которые встречаются одновременно во
всех трех массивах.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2012, 18:01     Найти элементы, которые встречаются во всех трех массивах
Посмотрите здесь:

C++ Элементы массива, которые встречаются только один раз
C++ Подправьте задачу (удалить из массива элементы которые встречаются ровно 2 раза)
C++ Из массива А удалить все элементы, которые встречаются в В ровно 2 раза
C++ дописать ( Из массива А удалить все элементы, которые встречаются в В ровно 2 раза. Из В переписать в С те элементы, которые совпадают с оставшимися)
Создать новый файл D из чисел, которые встречаются во всех трех файлах C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Maxtron
 Аватар для Maxtron
47 / 47 / 2
Регистрация: 17.11.2012
Сообщений: 224
Записей в блоге: 1
11.12.2012, 18:08     Найти элементы, которые встречаются во всех трех массивах #2
Можно сделать с помощью вложенных циклов for, сравнивая последовательно все элементы трех массивов.
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
11.12.2012, 18:21     Найти элементы, которые встречаются во всех трех массивах #3
Покажи код, поможем разобраться.
ASUV
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 10
11.12.2012, 19:02  [ТС]     Найти элементы, которые встречаются во всех трех массивах #4
да вот что и проблема я не знаю как это в коде записать
Maxtron
 Аватар для Maxtron
47 / 47 / 2
Регистрация: 17.11.2012
Сообщений: 224
Записей в блоге: 1
11.12.2012, 19:24     Найти элементы, которые встречаются во всех трех массивах #5
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream.h>
 
void main()
{
    int mas[10], mas2[10], mas3[10];
    for(int i = 0; i < 10; i++)
        for(int j = 0; j < 10; j++)
            for(int m = 0; m < 10; m++)
                       if(mas[i] == mas[j] && mas[i] == mas[m] && mas[j] == mas[m])
                        cout << mas[i] << " == " << mas[j] << " == " << mas[m] << '\n';
}
Массивы, конечно, нужно инициализировать значениями.
ASUV
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 10
11.12.2012, 20:09  [ТС]     Найти элементы, которые встречаются во всех трех массивах #6
что она вобще делает она даже число элементов не выводит
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
11.12.2012, 20:19     Найти элементы, которые встречаются во всех трех массивах #7
Множества уже проходили?
Создаёшь множества из массивов. Затем перебираешь все элементы второго множества, удаляя из первого множества элементы, которых нет во втором. Делаешь то же самое для оставшихся элементов первого множества с третьим множеством. Таким образом, в первом множестве останутся только те элементы, которые есть во всех трёх массивах.

Добавлено через 1 минуту
Но самым эффективным способом будет сортировка всех трёх массивов и поиск одинаковых элементов. Но там придётся асинхронно изменять три итератора.
ASUV
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 10
11.12.2012, 21:06  [ТС]     Найти элементы, которые встречаются во всех трех массивах #8
const int N = 10;
int main()
{
int mass[N]={3, 3, 2, 2, 1, 1, 7, 7, 9, 9}; // Обявляем массив.
int list[N]; /* Обявляем массив, куда будут заносится равные, но наиб. встречающиеся элементы.
Например, если задать массив из 5 элементов - 2, 2, 3, 3, 1, то вывести 2 и 3.
*/
int i, j, count, maxcount, num, len;
printf("\n Massiv iz chisel ot 1 do 10: \n");
for(i=0; i<N; i++)
{ printf("\n Massiv[%d] = %d. ", i, mass[i]); }

len=0; maxcount=1; num=0; // Устанавливаем значения трех переменных по умолчанию.
for (i=0; i<N; i++) // Перебираем все элементы массива.
{ count=0; // Счетчик в 0.
for (j=i; j<N; j++) // Перебираем все элементы от i до конца.
if (mass[i] == mass[j]) // Если элемент [i] совпадает с одним из последующих [j],
{ count++; } // то увеличиваем значение счетчика.
if (count==maxcount) // Если очередное число встречается maxcount раз,
{ list[len]=i; // То занесём его в список.
len++; } // Увеличиваем значение переменной.
if (count > maxcount) // Если число больше максимального,
{ maxcount = count; // тогда оно максимальное.
num = i; // Присаваеиваем элемент массива в новую переменную
len=1; // Разрушаем прежний список...
list[0]=i; } // и формируем новый.
}
printf("\n \n Povtor. chisla:");
for(i=0; i<len; i++)
{ printf(" %d.", mass[list[i]]); } // Выводим значения часто повторяющийся элементов.

getch();
return 0;
}
Maxtron
 Аватар для Maxtron
47 / 47 / 2
Регистрация: 17.11.2012
Сообщений: 224
Записей в блоге: 1
11.12.2012, 21:10     Найти элементы, которые встречаются во всех трех массивах #9
Цитата Сообщение от ASUV Посмотреть сообщение
что она вобще делает она даже число элементов не выводит
а где писалось, что это нужно? пишите тогда сразу точное описание того, что хотите получить. программа делает то, что вы писали в своём первом посте.
ASUV
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 10
11.12.2012, 21:23  [ТС]     Найти элементы, которые встречаются во всех трех массивах #10
ну она не выводит часто встречающиеся элементы
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2012, 21:36     Найти элементы, которые встречаются во всех трех массивах
Еще ссылки по теме:

C++ Напишите программу для нахождения всех слов, которые встречаются в каждом из двух предложений.
C++ Дана символьная строка. Вывести на экран только те символы, которые встречаются в ней более трех раз, для каждого из эти
Найти элементы, которые встречаются одновременно в трёх массивах C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Maxtron
 Аватар для Maxtron
47 / 47 / 2
Регистрация: 17.11.2012
Сообщений: 224
Записей в блоге: 1
11.12.2012, 21:36     Найти элементы, которые встречаются во всех трех массивах #11
Цитата Сообщение от ASUV Посмотреть сообщение
ну она не выводит часто встречающиеся элементы
инициализируйте массивы, и, если каждый из массивов содержит одинаковый элемент, то выведет он этот элемент
Yandex
Объявления
11.12.2012, 21:36     Найти элементы, которые встречаются во всех трех массивах
Ответ Создать тему
Опции темы

Текущее время: 01:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru