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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.66
maksbuck
0 / 0 / 0
Регистрация: 03.07.2012
Сообщений: 5
#1

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

16.07.2012, 16:12. Просмотров 5238. Ответов 2
Метки нет (Все метки)

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

Добавлено через 3 минуты
в решении необходимо использовать 1 вложенный цикл. Часть кода я уже написал...не могу понять как сделать чтоб элементы массива не повторялись.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
for (i=0; i<N; i++)
    {
        
        for (j=0;j<M;j++)
            if(B[i]==A[j])  
                {
                C[p]=B[i];
                p++;
                break;
                }
        
        
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2012, 16:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переписать в третий массив общие элементы первых двух массивов без повторений (C++):

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

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

Переписать в третий массив элементы данных двух массивов - C++
Даны два массива A и B, заполненные случайными числами (m и n задаются пользователем). 1. Переписать в третий массив элементы этих двух....

Все совершённые числа из двух массивов переписать в третий массив и найти четыре наименьших элемента - C++
Человек не может в C++. Заданы массивы целых чисел X(n) и Y(k). Все совершённые числа из этих массивов переписать в массив Z. В массиве Z...

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

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

2
Fooly
21 / 17 / 1
Регистрация: 26.03.2012
Сообщений: 147
16.07.2012, 17:36 #2
Вроде как работает. Напихал все циклы, которые только возможно
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;
const int M = 6;
const int N = 5;
const int L = M+N;//можно сравнить M и N и приравнять больший из них к L, но так легче... мне
int main()
{
    setlocale (LC_ALL, "Russian");
    int mas1 [M];
    int mas2 [N];
    int mas3 [L];
    for (int i=0; i <M; i++)
        {cout << "Введите " << i+1 << " элемент массива mas1: ";
    cin >> mas1[i];}
    for (int i=0; i <N; i++)
        {cout << "Введите " << i+1 << " элемент массива mas2: ";
    cin >> mas2[i];}
    int j=0;    
    int k=0;
    while (j<M)
      {for (int i=0; i<N; i++)//прогоняет все элементы первого массива, сравнивая с
        {                     //одним (j-м) элементом второго массива
         int p=0;       
           if (mas1[i]==mas2[j]) //элементы двух массивов одинаковы
              {for (int l=0; l<L; l++)
                  if (mas1[i]==mas3[l]) //проверяет наличие подобного элемента в 3-м массиве
                    p+=1;   
               if (p==0) //если элементы двух массивов одинаковы и он(элемент) не нашёлся в 3 массиве
                    {mas3[k]=mas1[i];
                     cout << k+1 << " элемент массива mas3 равен " << mas3[k]<< endl;
                     k+=1;
                     }}}
          j++;}//начинаем прогон следующего элемента второго массива
    for (int i=0; i<100; i++)//этот кусок, чтобы консоль не закрывалась при нажатиях Enter, можно убрать 
        cin.get();
    return 0;
}
1
maksbuck
0 / 0 / 0
Регистрация: 03.07.2012
Сообщений: 5
16.07.2012, 17:51  [ТС] #3
Fooly,
да спасибо, работает)
я только 1 исправил, чтоб массивы заполнялись рандомными числами)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2012, 17:51
Привет! Вот еще темы с ответами:

Сформировать третий массив, в котором элементы первых двух расположены в заданном порядке - C++
элементы 2 одномерных массивов вводятся в следующем порядке Х1 У1, Х2 У2, ... ,XnYn. Написать программу формирующую третий массив в котором...

Все различающиеся элементы двух исходных массивов скопировать в третий массив - C++
Ребята, помогите решить, только начал учить С++ Есть 2 одномерных массива, нужно все не общие элементы записать в 3 массив

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

Создать третий массив, в котором нужно собрать элементы двух заданных массивов - C++
Даны два массива : А и B. Необходимо создать третий массив, в котором нужно собрать: Элементы обоих массивов; -Общие элементы двух...


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

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

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