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

Вывести одинаковые элементы двух массивов

08.06.2017, 13:20. Показов 10987. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите изменить этот код так чтобы выводил одинаковые не по индексам а вообще одинаковые

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
#include <iostream>
 
using namespace std;
int main()
{
    const int n=5;
    int k=0,m=0;
    int arr1[n],arr2[n];
    for(int i=0;i<n;i++)
    {
        cout<<"arr1["<<i<<"]: ";
        cin>>arr1[i];
    }
    for (int i=0; i < n; i++)
    {
        cout<<"arr2["<< i<<"]: ";
        cin>>arr2[i];
    }
    for (int i=0; i < n; i++)
    {
        if (arr1[i]==arr2[i])k++;
    }
    int *p=new int[k];
    for (int i=0; i < n; i++)
    {
        if(arr1[i]==arr2[i])
        {
            p[m]=arr1[i];m++;
        }
    }
    for (int i=0; i < k; i++)
    {
        cout<<"p["<<i<<"]: "<<p[i]<<endl;
    }
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.06.2017, 13:20
Ответы с готовыми решениями:

Вывести одинаковые элементы двух массивов
Помогите изменить код функцией. #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std;...

Вывести одинаковые элементы имеющиеся в двух матрицах
Что нужно сделать что бы в консоль выводились одинаковые элементы в двух матрицах? Буду очень...

Создать два массива, которые будут содержать: все четные элементы двух массивов; все нечетные элементы двух массивов
Помогите, пожалуйста, с программой.. Ввести с клавиатуры два одномерных массива произвольной...

Вывести уникальные элементы двух динамических массивов
Дано два динамических массива одинаковой размерности. Нужно вывести уникальные элементы. Мой код...

11
1718 / 567 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
08.06.2017, 13:38 2
IgorAvas, просите помощи, а даже пальцем не ударили чтобы что то сделать. Хотя бы программу сами ручками набрали. Поищите по форуму, тут куча решенных заданий по этому вопросу.
0
56 / 54 / 33
Регистрация: 05.11.2014
Сообщений: 259
08.06.2017, 13:41 3
Не проверял, писал здесь. Главное уловить суть. Не забудь очистить массив существующих элементов existeds после создания.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
bool arrayHave(int * array, int length, int value)
{
    for (int i = 0; i < length; i++) {
        if (array[i] == value) {
            return true;
        }
    }
    return false;
}
 
// ...
 
int existedsCount = 0;
int * existeds = new int[k];
for (int i = 0; i < k; i++)
{
    if (arrayHave(arr2, k, arr1[i]) && !arrayHave(existeds, existedsCount, arr1[i])) {
        cout << arr1 << endl;
        existedsCount++;
    }
}
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
08.06.2017, 14:06 4
IgorAvas, мыльный снимок под углом с волнами от экрана - это не просто не по-программерски, это полное неуважение к участникам форума.
 Комментарий модератора 
Запрещено выкладывать задания в виде картинок
0
0 / 0 / 0
Регистрация: 12.10.2016
Сообщений: 86
08.06.2017, 14:07  [ТС] 5
Я виноват что редактировать нельзя
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
08.06.2017, 14:17 6
IgorAvas, объединил ваш код с заголовком.
0
0 / 0 / 0
Регистрация: 12.10.2016
Сообщений: 86
08.06.2017, 14:24  [ТС] 7
Спасибо
0
1718 / 567 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
08.06.2017, 14:29 8
Цитата Сообщение от MrGluck Посмотреть сообщение
IgorAvas, объединил ваш код с заголовком.
Теперь мой пост, не пришей к кобыле хвост.
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
08.06.2017, 14:32 9
Поменял, вроде бы так:
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
40
41
42
43
#include <cstdlib>
#include <iostream>
 
using namespace std;
int main()
{
    const int n=5;
    int k=0,m=0;
    int arr1[n],arr2[n];
    for(int i=0;i<n;i++)
    {
        cout<<"arr1["<<i<<"]: ";
        cin>>arr1[i];
    }
    for (int i=0; i < n; i++)
    {
        cout<<"arr2["<< i<<"]: ";
        cin>>arr2[i];
    }
    for (int i=0; i < n; i++)
    {
        for (int j=0; j < n; j++)
            if (arr1[i]==arr2[j])
                k++;
    }
    int *p=new int[k];
    for (int i=0; i < n; i++)
    {
        for (int j=0; j < n; j++)
            if (arr1[i]==arr2[j])
            {
                p[m]=arr1[i];
                m++;
            }
    }
    for (int i=0; i < k; i++)
    {
        cout<<"p["<<i<<"]: "<<p[i]<<endl;
    }
    delete[] p;
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 12.10.2016
Сообщений: 86
08.06.2017, 15:29  [ТС] 10
Почему то вылетает
0
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
08.06.2017, 15:36 11
IgorAvas, здравствуйте! Вот код, если я все правильно понял:

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
#include <iostream>
 
using namespace std;
 
int main()
{
    int N, M;
    cout << "Введите размер первого массива:" << endl;
    cout << "N = ";
    cin >> N;
    cout << "Введите размер второго массива:" << endl;
    cout << "M = ";
    cin >> M;
    int* A = new int[N]; 
    int* B = new int[M];
    cout << "Введите первый массив:" << endl;
    for (int i = 0; i < N; i++)
    {
        cin >> A[i]; //Вводим первый массив
    }
    for (int i = 0; i < M; i++)
    {
        cin >> B[i]; //Вводим второй массив
    }
    cout << "Выведем равные пары элементов:" << endl;
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < M; j++)
        {
            if (A[i] == B[j])
            cout << A[i] << " " << B[j] << endl;
        }
    }
    delete [] A;
    delete [] B;
    cin.get();
    return 0;
}
0
0 / 0 / 0
Регистрация: 12.10.2016
Сообщений: 86
08.06.2017, 16:38  [ТС] 12
А можете пожалуйста помогите вместо статического в динамический массив исправить

Добавлено через 10 минут
Извиняюсь не так написал .
Можете помочь исправить статический на динамический массив
0
08.06.2017, 16:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.06.2017, 16:38
Помогаю со студенческими работами здесь

Сравнить соответствующие элементы двух массивов и вывести на экран номера совпавших элементов
Заданы два массива целых чисел одинаковой размерности.Сравнить их соответствующие элементы и...

Отобрать одинаковые числа из двух массивов и записать их в третий массив
Суть программами: у нас есть два массива заполнение рандомом из них нужно отобрать одинаковые числа...

Исключить из двух массивов одинаковые значения, и найти в первом массиве наибольшее
Помогите!!! Написать код который будет запрашивать ввести пользователя два массива. Исключить из...

Найти в двух массивах одинаковые элементы
Проверить в массивах А и B одинаковые элементы


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

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