Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/64: Рейтинг темы: голосов - 64, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 03.12.2016
Сообщений: 9

Общие элементы двух массивов

05.02.2017, 23:37. Показов 13416. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть два массива, 1-ий -- на 10 элементов, 2-ой – на 20 элементов.

- найти все одинаковые числа, которые есть в первом и во втором. Показать их на экран.

- Занести их в отдельный (третий) массив.

- Занести их в третий так, чтобы они там не повторялись.

В общем занести их в третий массив получается, а как сделать так, чтобы в третьем массиве элементы не повторялись не могу понять. Натолкните хотя бы на мысль, в каком направлении думать.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
 
using namespace std;
 
int main()
{
    const int sz1 = 20, sz2 = 10;
    int arr1[sz1], arr2[sz2], arr3[sz1 * sz2];
    cout << "Arr1: ";
    for (int i = 0; i < sz1; ++i)
    {
        arr1[i] = rand() % 20;
        cout << arr1[i] << ' ';
    }
    cout << endl
        << "Arr2: ";
    for (int i = 0; i < sz2; ++i)
    {
        arr2[i] = rand() % 20;
        cout << arr2[i] << ' ';
    }
    cout << endl;
    
    for (int i = 0; i < sz1; ++i)
    {
        int k = 0;
        for (int j = 0; j < sz2; ++j)
        {
            if (arr2[j] == arr1[i])
            {
                arr3[k] = arr2[j];
                ++k;
            }
        }
    }
    return 0;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.02.2017, 23:37
Ответы с готовыми решениями:

Собрать общие элементы двух массивов
Задание: Даны два массива: А и B (M и N вводятся с клавиатуры). Необходимо создать третий массив минимально возможного размера, в...

Общие элементы двух массивов записать в один
void search(int a,int b,int c,int n,int m){ for(int i=0;i&lt;n;i++){ for(int j=0;j&lt;m;j++){ if(a==b){ // так выводит массив c...

Функция находящая общие элементы двух массивов
Написать функцию, которая на основе двух динамических массивов А и В быть разного размера строит третий динамический массив С минимального...

3
309 / 221 / 74
Регистрация: 23.05.2011
Сообщений: 981
06.02.2017, 00:20
Прямо сегодня была похожая тема, поэтому даю ссылку.
Способы нахождения повторяющихся чисел в массиве?
0
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
06.02.2017, 09:58
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <bits/stdc++.h>
#define MAX_SIZE_a 10
#define MAX_SIZE_b 20
#define MAX_SIZE_c 10
 
using namespace std;
 
int main()
{
    int massiv_a [ MAX_SIZE_a ], massiv_b [ MAX_SIZE_b ], massiv_c [ MAX_SIZE_c ];
    for ( int i = 0 ; i < MAX_SIZE_a ; i++ ){
        cin >> massiv_a [ i ];
    }
    for ( int i = 0 ; i < MAX_SIZE_b ; i++){
        cin >> massiv_b [ i ];
    }
    int razmer_massiva_c = -1;
    for ( int i = 0 ; i < MAX_SIZE_a ; i++ ){
        for ( int j = 0 ; j < MAX_SIZE_b ; j++ ){
            if ( massiv_a [ i ] == massiv_b [ j ]){
                if ( massiv_c [ i ] != massiv_a [ i ]){
                    razmer_massiva_c ++ ;
                    massiv_c [ razmer_massiva_c ] = massiv_a [ i ];
                }
            }
        }
    }
    for ( int i = 0 ; i <= razmer_massiva_c ; i++ ){
        cout << massiv_c [ i ] << " " ;
    }
 
}
Вроде так?

Добавлено через 11 минут
В прошлом коде элементы повторялись, щас исправил
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <bits/stdc++.h>
#define MAX_SIZE_a 10
#define MAX_SIZE_b 20
#define MAX_SIZE_c 10
 
using namespace std;
 
int main()
{
    int massiv_a [ MAX_SIZE_a ], massiv_b [ MAX_SIZE_b ], massiv_c [ MAX_SIZE_c ];
    for ( int i = 0 ; i < MAX_SIZE_a ; i++ ){
        cin >> massiv_a [ i ];
    }
    for ( int i = 0 ; i < MAX_SIZE_b ; i++){
        cin >> massiv_b [ i ];
    }
    int razmer_massiva_c = 0;
    bool f = true;
    for ( int i = 0 ; i < MAX_SIZE_a ; i++ ){
            f = true;
        for ( int j = 0 ; j < MAX_SIZE_b ; j++ ){
            if ( massiv_a [ i ] == massiv_b [ j ]){
                for ( int k = 0 ; k < razmer_massiva_c ; k++ ){
                if ( massiv_c [ k ] == massiv_a [ i ]){
                    f = false;
                    break;
                }
            }
            if ( f ) {
                massiv_c [ razmer_massiva_c ] = massiv_a [ i ];
                    razmer_massiva_c ++ ;
            }
            }
        }
    }
    for ( int i = 0 ; i < razmer_massiva_c ; i++ ){
        cout << massiv_c [ i ] << " " ;
    }
}
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
06.02.2017, 11:57
C++14
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <algorithm>
#include <functional>
#include <iostream>
#include <iterator>
#include <random>
#include <set>
 
int main()
{
    int A[10], B[20];
    auto print = [](const auto &a)
    {
        std::copy(std::cbegin(a), std::cend(a), std::ostream_iterator<int>(std::cout, " "));
        std::cout << std::endl;
    };
    auto gen_and_print = [print](auto &a)
    {
        static std::mt19937 gen{ std::random_device()() };
        static std::uniform_int_distribution<> dist(0, 9);
        std::generate(std::begin(a), std::end(a), std::bind(dist, gen));
        print(a);
    };
 
    gen_and_print(A);
    gen_and_print(B);
 
    std::set<int> C(std::cbegin(A), std::cend(A));
    C.insert(std::cbegin(B), std::cend(B));
    print(C);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.02.2017, 11:57
Помогаю со студенческими работами здесь

Поместить в третий массив общие элементы двух массивов
здравствуйте. никак не могу додуматься как написать цикл по перебору элементов массива. Задача такая: есть два динамических массива. Нужно...

Найти общие элементы двух целочисленных массивов и отсортировать их по возрастанию
добрый вечер, может кто-нить подсказать как найти общие элементы двух целочисленных массивов и отсортировать их по возрастанию. Массивы...

Переписать в третий массив общие элементы первых двух массивов без повторений
Даны 2 массива размерности M и N соответственно. Необходимо переписать в третий массив общие элементы первых двух массивов без...

Необходимо переписать в третий массив общие элементы первых двух массивов без повторений
не выводит 3-й массив..(((( В чем трудность не понимаю.... #include&lt;iostream&gt; #include&lt;ctime&gt; using namespace std; void...

Создать массив минимально возможного размера, в котором нужно собрать общие элементы двух заданных массивов
Даны два массива: А и B (M и N вводятся с клавиатуры). Необходимо создать третий массив минимально возможного размера, в котором...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru