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

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

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

Поиск одинаковых элементов в массивах! - C++

15.10.2016, 15:42. Просмотров 292. Ответов 11
Метки нет (Все метки)

Даны 2 массива(x,y) cоставить новый массив (z), из тех элементов массива (x) которые не входят в массиве (у).

Я вот что написал но неправильно получилось исправьте мою прогу плиз.

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 <iostream>
using namespace std;
void main()
{
    int i,j,k=0;
    const int n=6;
    int x[n]={1,3,5,7,9,11};
    int y[n]={2,4,6,8,10,5};
    int z[n];
    
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<n; j++)
        {
            if(x[i] != y[j])
                z[k++] = x[i];
        }
    }
    
    for(int i=0; i<n; i++)
    {
    cout << "x=" << x[i] <<" ";
    }
    cout<<endl;
 
    for(int j=0; j<n; j++)
    {
    cout << "y=" << y[j] <<" ";
    }
    cout<<endl;
 
    for(int k=0; k<n; k++)
    {
    cout << "z=" << z[k] <<" ";
    }
    cout<<endl;
 
    system("pause");
}
Основная проблема в ЭТОМ:
C++
1
2
3
4
5
6
7
8
for(int i=0; i<n; i++)
    {
        for(int j=0; j<n; j++)
        {
            if(x[i] != y[j])
                z[k++] = x[i];
        }
    }
Не пойму в чём дело? Что не так
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2016, 15:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск одинаковых элементов в массивах! (C++):

Поиск одинаковых элементов в 2 массивах - C++
Всем привет) Как можно организовать поиск одинаковых элементов в 2 массивах? (сам цикл подскажите пож...) Спасибо заранее)

Поиск одинаковых чисел в трех массивах - C++
Выяснить, есть ли одинаковые числа в каждом из трех целочисленных массивов, заданных рандомными числами. Найти эти числа или сообщить об их...

Посчитать количество одинаковых элементов в двух массивах - C++
#include &lt;cstdio&gt; #include &lt;map&gt; #include &lt;iostream&gt; using namespace std; map &lt;bool, int&gt; a; int n, m, year, i, k;////k -...

Определить имеется ли в заданных массивах хотя бы одна пара одинаковых элементов - C++
Дан массив целых чисел a(30). Определить имеется ли в данных массивпх хотя бы одна пара одинаковых элемннтов, и напечатоть соответствующее...

Поиск элементов в массивах - C++
Задача интересная!) есть три массива (1) это массив кафедр: {Fivt,Fivt,Fivt,Fivt,Fivt,Fivt,Itf,Itf,Itf,Wf,Wf,Wf} (2) это...

Поиск элементов в одномерных массивах - C++
Дан целочисленный массив размера N. Найти количество различных элементов в данном массиве.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
GbaLog-
Любитель чаепитий
2772 / 1294 / 311
Регистрация: 24.08.2014
Сообщений: 4,585
Записей в блоге: 1
Завершенные тесты: 2
15.10.2016, 15:48 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for(int i=0; i<n; i++)
{
    bool flag = false;
    for(int j=0; j<n; j++)
    {
        if(x[i] == y[j])
        {
            flag = true;
        }
    }
    if( !flag )
    {
        z[k++] = x[i];
    }
}
1
Maxim09
0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 414
15.10.2016, 16:09  [ТС] #3
А как динамически выделить память для массива (z) чтоб не выделяло память в пустую.
так как-то?
C++
1
int *z=new int[k]
0
GbaLog-
Любитель чаепитий
2772 / 1294 / 311
Регистрация: 24.08.2014
Сообщений: 4,585
Записей в блоге: 1
Завершенные тесты: 2
15.10.2016, 16:09 #4
Цитата Сообщение от Maxim09 Посмотреть сообщение
так как-то?
Да.
1
Maxim09
0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 414
15.10.2016, 16:13  [ТС] #5
А куда его добавлять надо?
0
GbaLog-
Любитель чаепитий
2772 / 1294 / 311
Регистрация: 24.08.2014
Сообщений: 4,585
Записей в блоге: 1
Завершенные тесты: 2
15.10.2016, 16:22 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Maxim09 Посмотреть сообщение
А куда его добавлять надо?
Лучше оставьте всё как есть, иначе придётся как-то так переписывать:
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
using namespace std;
int main()
{
    int i,j,k=0;
    const int n=6;
    int x[n]={1,3,5,7,9,11};
    int y[n]={2,4,6,8,10,5};
    
    for(int i=0; i<n; i++)
    {
        bool flag = false;
        for(int j=0; j<n; j++)
        {
            if(x[i] == y[j])
            {
                flag = true;
            }
        }
        if( !flag )
        {
            ++k;
        }
    }
    
    int* z = new int[k]{};
    
    for(int i=0, d=0; i<n; i++)
    {
        bool flag = false;
        for(int j=0; j<n; j++)
        {
            if(x[i] == y[j])
            {
                flag = true;
            }
        }
        if( !flag )
        {
            z[d++] = x[i];
        }
    }
    
    for(int i=0; i<n; i++)
    {
    cout << "x=" << x[i] <<" ";
    }
    cout<<endl;
 
    for(int j=0; j<n; j++)
    {
    cout << "y=" << y[j] <<" ";
    }
    cout<<endl;
 
    for(int i=0; i<k; i++)
    {
    cout << "z=" << z[i] <<" ";
    }
    cout<<endl;
 
    system("pause");
}
1
Peoples
1160 / 664 / 421
Регистрация: 06.02.2016
Сообщений: 1,734
Записей в блоге: 13
Завершенные тесты: 4
15.10.2016, 16:37 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
44
45
46
47
48
49
#include <iostream>
#include <algorithm>
#include <ctime>
#include <cstdlib>
using namespace std;
int main() {
    int k=0;
    srand(time(NULL));
    const int n=10;
    int *x=new int[n];
    int *y=new int[n];
    for(int i=0; i!=n; i++) {
        x[i]=rand()%20;
        y[i]=rand()%20;
    }
    cout<<"x"<<endl;
    for(int i=0; i!=n; i++) {
        cout<<x[i]<<" ";
    }
    cout<<endl;
    cout<<"y"<<endl;
    for(int i=0; i!=n; i++) {
        cout<<y[i]<<" ";
    }
    for(int i=0; i<n; i++) {
        bool flag = false;
        for(int j=0; j<n; j++) {
            if(x[i] == y[j]) {
                flag = true;
            }
        }
        if( !flag ) {
            ++k;
        }
    }
    int *z=new int[k];
    sort(x,x+n);
    sort(y,y+n);
    set_difference(x,x+n,y,y+n,z);
    cout<<endl;
    cout<<"z"<<endl;
    for(int i=0; i!=k; i++) {
        cout<<z[i]<<" ";
    }
    delete []x;
    delete []y;
    delete []z;
    return 0;
}
1
Maxim09
0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 414
15.10.2016, 16:38  [ТС] #8
Скажите а для чего нужна(что делает) вот эта часть кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for(int i=0; i<n; i++)
    {
        bool flag = false;
        for(int j=0; j<n; j++)
        {
            if(x[i] == y[j])
            {
                flag = true;
            }
        }
        if( !flag )
        {
            ++k;
        }
    }
0
Peoples
1160 / 664 / 421
Регистрация: 06.02.2016
Сообщений: 1,734
Записей в блоге: 13
Завершенные тесты: 4
15.10.2016, 16:39 #9
вот
0
Миниатюры
Поиск одинаковых элементов в массивах!  
Maxim09
0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 414
15.10.2016, 16:49  [ТС] #10
Поправьте меня если я не прав но это:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for(int i=0; i<n; i++)
    {
        bool flag = false;
        for(int j=0; j<n; j++)
        {
            if(x[i] == y[j])
            {
                flag = true;
            }
        }
        if( !flag )
        {
            ++k;
        }
    }
Высчитывает сколько памяти выделять надо так? Верно?.
0
GbaLog-
Любитель чаепитий
2772 / 1294 / 311
Регистрация: 24.08.2014
Сообщений: 4,585
Записей в блоге: 1
Завершенные тесты: 2
15.10.2016, 16:50 #11
Цитата Сообщение от Maxim09 Посмотреть сообщение
Высчитывает сколько памяти выделять надо так? Верно?.
Верно.
1
Maxim09
0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 414
15.10.2016, 16:51  [ТС] #12
спс всем за помощь!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2016, 16:51
Привет! Вот еще темы с ответами:

Поиск элементов в одномерных массивах - C++
Помогите с задачей) Дано: целые числа N,C,B. Задать N элементов одномерного массива. Вывести максимальный из элементов набора, содержащийся...

Поиск элементов в одномерных массивах - C++
Даны целые числа N и B. Задать N элементов одномерного массива. Вывести минимальный из тех элементов набора, которые больше B, а так же его...

Поиск элементов в одномерных массивах - C++
Даны целые числа N и B. Задать N элементов одномерного массива. Вывести минимальный из тех элементов набора, которые больше B, а также его...

Поиск одинаковых элементов - C++
написал программу поиска одинаковых элементов, а вот если их там нет у меня блин не получается вывести просто &quot;одинаковых элементов нет&quot;,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.10.2016, 16:51
Ответ Создать тему
Опции темы

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