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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.63
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
#1

Общие элементы двух массивов записать в один - C++

10.11.2013, 23:18. Просмотров 1501. Ответов 16
Метки нет (Все метки)

void search(int a[],int b[],int c[],int n,int m){
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(a[i]==b[j]){ // так выводит массив c[i] с общими элементами и с мусорными знач
c[i]=a[i]; // потому что n=5? а ведь мне нужно только общие элем
}
}
cout<<c[i]<<" "; // как правильно вывести c[i]?
}

Добавлено через 47 секунд
C++
1
2
3
4
5
6
7
8
9
void search(int a[],int b[],int c[],int n,int m){
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(a[i]==b[j]){ // так выводит массив c[i] с общими элементами и с мусорными знач
c[i]=a[i]; // потому что n=5? а ведь мне нужно только общие элем
}
}
cout<<c[i]<<" "; // как правильно вывести c[i]?
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2013, 23:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Общие элементы двух массивов записать в один (C++):

Общие элементы двух массивов - C++
Есть два массива, 1-ий -- на 10 элементов, 2-ой – на 20 элементов. - найти все одинаковые числа, которые есть в первом и во втором....

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

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

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

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

Записать в массив общие элементы других массивов, без повторения одинаковых элементов - C++
Записать в массив общие элементы других массивов, без повторения записи одинаковых элементов Например: 1,2,8,5,4,5,7,3,1 ...

16
newyork7776
350 / 343 / 80
Регистрация: 21.05.2013
Сообщений: 1,312
Завершенные тесты: 1
10.11.2013, 23:20 #2
я правельно понял задание:3 одно-масива.нужно найти елементи которые есть в 1 и 2 масиве и записать его в масив 3
0
genaryok
22 / 22 / 4
Регистрация: 18.10.2013
Сообщений: 62
10.11.2013, 23:22 #3
Цитата Сообщение от I love myguitar Посмотреть сообщение
cout<<c[i]<<" "; // как правильно вывести c[i]
Массивы всегда выводятся через цикл
1
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
10.11.2013, 23:22  [ТС] #4
ну да урок 12 сижу парюсь час,
0
genaryok
22 / 22 / 4
Регистрация: 18.10.2013
Сообщений: 62
10.11.2013, 23:23 #5
Цитата Сообщение от I love myguitar Посмотреть сообщение
c[i]=a[i]; // потому что n=5? а ведь мне нужно только общие элем
Поставьте счетчик на количество одинаковых и выводите до значения счетчика
0
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
10.11.2013, 23:24  [ТС] #6
C++
1
2
3
for(int i=0;i<?;i++){
cout<<c[i]<<" ";
}
Чему будет равен размер цикла

пробовал через sizeof- бред получаеться
0
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
10.11.2013, 23:24 #7
I love myguitar, вам лишь нужно подогнать размерности и указать до чего будут выполняться циклы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void common(int a1[], int b, int a2[], int a)
{
    int s = 20, k = 0;
    int A[s];
 
    for (int i = 0; i < (a > b ? a : b); i++)
        for (int j = 0; j < (a > b ? a : b); j++)
        {
            if (a1[i] == a2[j])
            {
                A[k] = a1;
                k++;
            }
        }
}
1
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
10.11.2013, 23:27  [ТС] #8
C++
1
2
3
4
5
6
7
8
void search(int a[],int b[],int c[],int n,int m){
int k;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(a[i]==b[j]){
k++; }
}
cout<<k<<" "; }
чот опять не так
0
genaryok
22 / 22 / 4
Регистрация: 18.10.2013
Сообщений: 62
10.11.2013, 23:29 #9
Цитата Сообщение от I love myguitar Посмотреть сообщение
void search(int a[],int b[],int c[],int n,int m){
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(a[i]==b[j]){ // так выводит массив c[i] с общими элементами и с мусорными знач
c[i]=a[i]; // потому что n=5? а ведь мне нужно только общие элем
}
}
cout<<c[i]<<" "; // как правильно вывести c[i]?
}

Добавлено через 47 секунд
C++
1
2
3
4
5
6
7
8
9
void search(int a[],int b[],int c[],int n,int m){
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(a[i]==b[j]){ // так выводит массив c[i] с общими элементами и с мусорными знач
c[i]=a[i]; // потому что n=5? а ведь мне нужно только общие элем
}
}
cout<<c[i]<<" "; // как правильно вывести c[i]?
}
Вам же написали
0
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
10.11.2013, 23:29 #10
I love myguitar, вы выводите количество совпадений массивов
0
genaryok
22 / 22 / 4
Регистрация: 18.10.2013
Сообщений: 62
10.11.2013, 23:33 #11
C++
1
2
3
4
5
6
7
8
9
10
11
12
void search(int a[],int b[],int c[],int n,int m){
int k=0;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(a[i]==b[j]){ // так выводит массив c[i] с общими элементами должен без мусора
c[i]=a[i];
k++; // счетчик совпадений
}
}
for(int i=0; i<k;i++)
cout<<c[i]<<" "; // как правильно вывести c[i]?Вот так правильно
}
1
newyork7776
350 / 343 / 80
Регистрация: 21.05.2013
Сообщений: 1,312
Завершенные тесты: 1
10.11.2013, 23:35 #12
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <time.h>
#include <math.h>
#include <vector>
using namespace std;
int main()
{
    srand(time(NULL));
    int n,m,k;
    vector <int> q,w,e;
    cout << "Enter size of array 1 = ";cin >> n;
    cout << "Enter size of array 2 = ";cin >> m;
    cout << "Arary 1 = ";
    for(int i=0;i<n;i++)
    {
        k=rand()%10-5;
        q.push_back(k);
        cout << q[i] << " ";
    }cout << "\n";
    cout << "Array 2 = ";
    for(int i=0;i<m;i++)
    {
        k=rand()%10-5;
        w.push_back(k);
        cout << w[i] << " ";
    }cout << "\n";
    cout << "Array 3 = ";
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            if (q[i]==w[j]) 
            {
                
                e.push_back(q[i]);
            }
        }
    }
    if (e.size()==0){cout << "emply\n";}else{
    for(int i=0;i<e.size();i++)
    {
        cout << e[i] << " ";
    }}
    system("pause");
}
0
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
10.11.2013, 23:36  [ТС] #13
Ryuk,
Цитата Сообщение от Ryuk Посмотреть сообщение
вы выводите количество совпадений массивов
Ага ....

Тернарный практически никогда то не использую , но походу надо начинать
0
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
10.11.2013, 23:39 #14
I love myguitar, там и без него можно, я для наглядности написал Смотря какие у вас массивы по размерности, разные или одинаковые. На скорую руку писал, по этому тернарный.
0
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
10.11.2013, 23:51  [ТС] #15
Ryuk,
C++
1
2
int s = 20, k = 0;
    int A[s];
Даю конечно , но только пока int s = 20 не сделал const int A[s] не воспринимался
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2013, 23:51
Привет! Вот еще темы с ответами:

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

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

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

Найти элементы, входящие только в один из двух массивов - C++
Ну собственно в С++: Найти элементы, входящие только в один из двух массивов(даны 2 массива) И, пожалуйста, сайты что ли какие-нибудь,...


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

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

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