Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ASUV
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 10
#1

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

11.12.2012, 18:01. Просмотров 727. Ответов 10
Метки нет (Все метки)

Заданы три одномерных массива содержащие по n элементов. Написать
программу, которая находит те элементы, которые встречаются одновременно во
всех трех массивах.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2012, 18:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти элементы, которые встречаются во всех трех массивах (C++):

Найти элементы, которые встречаются одновременно в трёх массивах - C++
Ребят, помогите пожалуйста! Заданы три одновременых массива содержащие по n элементов. Написать программу, которая находит те элементы,...

Создать новый файл D из чисел, которые встречаются во всех трех файлах - C++
Решить на С++, с комментариями. Спасибо:) Даны три файла: А,В,С из целых чисел. Создать новый файл D из чисел, которые встречаются во...

Найти элементы массива В, которые не встречаются в массиве А - C++
Даны два массива: А и B . Образовать третий массив минимального возможного размера, в котором собрать: Элементы массива В, которые не...

дописать ( Из массива А удалить все элементы, которые встречаются в В ровно 2 раза. Из В переписать в С те элементы, которые совпадают с оставшимися) - C++
нужно чтоб на экран еще выводило перед новым массивом А, числа,которые повторяются в массиве В 2 раза. и перед С тоже чтоб выводило на...

Найти все элементы массива, которые встречаются в нем не более одного раза - C++
Нужна помощь. Задание такого : в двумерном массиве А найти все элементы, которые встречаются в нем не более одного раза и записать эти...

Даны три целых массива, отсортированных по возрастанию. Найти первое число, которые встречается во всех трех - C++
Привет всем! Нужно сделать к воскресенью, но в программирование я очень плох. Надеюсь на вашу помощь

10
Maxtron
50 / 50 / 3
Регистрация: 17.11.2012
Сообщений: 229
Записей в блоге: 1
11.12.2012, 18:08 #2
Можно сделать с помощью вложенных циклов for, сравнивая последовательно все элементы трех массивов.
0
David Sylva
1291 / 953 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
11.12.2012, 18:21 #3
Покажи код, поможем разобраться.
0
ASUV
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 10
11.12.2012, 19:02  [ТС] #4
да вот что и проблема я не знаю как это в коде записать
0
Maxtron
50 / 50 / 3
Регистрация: 17.11.2012
Сообщений: 229
Записей в блоге: 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';
}
Массивы, конечно, нужно инициализировать значениями.
0
ASUV
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 10
11.12.2012, 20:09  [ТС] #6
что она вобще делает она даже число элементов не выводит
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
11.12.2012, 20:19 #7
Множества уже проходили?
Создаёшь множества из массивов. Затем перебираешь все элементы второго множества, удаляя из первого множества элементы, которых нет во втором. Делаешь то же самое для оставшихся элементов первого множества с третьим множеством. Таким образом, в первом множестве останутся только те элементы, которые есть во всех трёх массивах.

Добавлено через 1 минуту
Но самым эффективным способом будет сортировка всех трёх массивов и поиск одинаковых элементов. Но там придётся асинхронно изменять три итератора.
0
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;
}
0
Maxtron
50 / 50 / 3
Регистрация: 17.11.2012
Сообщений: 229
Записей в блоге: 1
11.12.2012, 21:10 #9
Цитата Сообщение от ASUV Посмотреть сообщение
что она вобще делает она даже число элементов не выводит
а где писалось, что это нужно? пишите тогда сразу точное описание того, что хотите получить. программа делает то, что вы писали в своём первом посте.
0
ASUV
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 10
11.12.2012, 21:23  [ТС] #10
ну она не выводит часто встречающиеся элементы
0
Maxtron
50 / 50 / 3
Регистрация: 17.11.2012
Сообщений: 229
Записей в блоге: 1
11.12.2012, 21:36 #11
Цитата Сообщение от ASUV Посмотреть сообщение
ну она не выводит часто встречающиеся элементы
инициализируйте массивы, и, если каждый из массивов содержит одинаковый элемент, то выведет он этот элемент
0
11.12.2012, 21:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2012, 21:36
Привет! Вот еще темы с ответами:

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

Собрать элементы массива A, которые не встречаются в B - C++
Даны два массива: А и B . Образовать третий массив минимального возможного размера, в котором собрать: Элементы массива A, которые не...

Перенести в массив С те элементы массива А, которые не встречаются в массиве В - C++
Помогите с заданием в C++. Заданы массивы а1, а2, …, а20 и в1,в2,…,в10. Перенести в массив С те элементы массива А, которые не...

Элементы массива, которые встречаются только один раз - C++
Нужно создать функцию, которая выводит на экран номера элементов, встречающихся в массиве только один раз не знаю как это реализовать...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.