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

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

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

Author24 — интернет-сервис помощи студентам
Есть два массива, 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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
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++){...

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

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

3
309 / 221 / 74
Регистрация: 23.05.2011
Сообщений: 981
06.02.2017, 00:20 2
Прямо сегодня была похожая тема, поэтому даю ссылку.
Способы нахождения повторяющихся чисел в массиве?
0
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
06.02.2017, 09:58 3
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Эксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
06.02.2017, 11:57 4
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
06.02.2017, 11:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.02.2017, 11:57
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru