С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 81

Объединение двух массивов

26.09.2014, 14:39. Показов 2218. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Выполнено два задания:нашли Элементы массива A, которые не включаются в B и Элементы массива B, которые не включаются в A. Как объединить результаты в один массив?
Код полностью:

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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
 
void main()
{
srand (time(NULL));
    
    const int size_3=5;
    int mas_1[size_3];
    int *pmas_1=mas_1;
 
    for(int p=0;p<size_3;p++)
    {
        pmas_1[p]=rand()%20; 
    }
    //начальный вид первого массива
 
    for(int p=0;p<size_3;p++)
    {
        cout<<pmas_1[p]<<" ";
    }
    cout<<endl;
 
    const int size_4=5;
    int mas_2[size_4];
    int *pmas_2=mas_2;
 
    for(int l=0;l<size_4;l++)
    {
        pmas_2[l]=rand()%20;
    }
    //начальный вид второго массива
    for(int l=0;l<size_4;l++)
    {
        cout<<pmas_2[l]<<" ";
    }
    cout<<endl;
Элементы массива A, которые не включаются в B;   
 
//  int mas_5[size_4];
//  int *pmas_5=mas_5;
//  int k3=0;
//      
//  for (int i3 = 0; i3 < size_4; ++i3)
//  {
//    int j3 = 0;
//    // поиск
//    while ((j3 < size_3) && (pmas_1[i3] != pmas_2[j3]))
//    {
//        ++j3;
//    }
// 
//    if (j3 == size_3) // если не нашли - добавляем в другой массив
//    {
//        pmas_5[k3] = pmas_1[i3];
//        ++k3;
//    }
//   }// 
 
//    for(int i3 = 0; i3 < k3; i3++)
//    {
//      cout << pmas_5[i3] << " ";
//    }
//      cout << endl;
//
//   
Элементы массива B, которые не включаются в A; 
//    
//    int mas_6[size_4];
//    int *pmas_6=mas_6;
//    int k4=0;
//  
//
//    for (int j4 = 0; j4 < size_4; ++j4)
//    {
//      int i4 = 0;
//      // поиск
//       while ((i4 < size_4) && (pmas_2[j4] != pmas_1[i4]))
//       {
//         ++i4;
//       }
// 
//         if (i4 == size_4) // если не нашли - добавляем в другой массив
//          {
//            pmas_6[k4] = pmas_2[j4];
//            ++k4;
//           }
//     }
//
//   for(int j4 = 0; j4 < k4; j4++)
//   {
//      cout << pmas_6[j4] << " ";
//   }
//      cout << endl;
 
 
int mas_7[size_3+size_4];
    int *pmas_7=mas_7;
    int k5=0;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.09.2014, 14:39
Ответы с готовыми решениями:

Объединение двух массивов
Ребята,срочно. Даны два масссива b и c как их объединить в один третий массив d например?

Объединение двух массивов
Всем привет! Есть два массива, в которых есть одинаковые элементы: a={1,2,5,64,23,65,34,6} и b={12,53,12,64,5,2,7,1,23}. Нужно объединить...

Объединение двух массивов.
Добрый день!!!! Стоит задача из двух массивов сделать один. Первый массив А {&quot;1111111133333333&quot;}; Второй массив В...

19
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
26.09.2014, 14:53
C++
1
2
3
4
5
6
7
8
9
10
11
const int N=5;
 const int M=7;
 
 int Arr1[N]={1,2,3,4,5};
 int Arr2[M]={6,7,8,9,10,11,12};
 
 int FullArray[N+M];
 memmove(FullArray,Arr1,N*sizeof(int));
 memmove(FullArray+N,Arr2,M*sizeof(int));
 
 for (int i=0;i<N+M;i++) cout<<FullArray[i]<<"\n";
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
26.09.2014, 14:57
daslex, зачем memmove? Можно же просто memcpy.
0
26.09.2014, 14:59

Не по теме:

Мне разница неизвестная. Я знаю, что там чего-то с наложением связано. А конкретно когда что лучше не имею понятия пока что.

0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
26.09.2014, 15:01
daslex, если dst перекрывается с src, то можно безопасно копировать через memmove, иначе можно использовать memcpy (она должна быть быстрее).
0
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 81
26.09.2014, 15:02  [ТС]
не подходит. строки еще не учили. только указатели
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
26.09.2014, 15:03
Lena86, у него в примере нет строк.
0
2393 / 1914 / 763
Регистрация: 27.07.2012
Сообщений: 5,558
26.09.2014, 15:09
C++
1
2
3
4
5
6
7
8
9
10
int mas_7[size_3+size_4];
int k5=0;
for (int i = 0; i < k3; ++i, ++k5)
{
    mas_7[i] = mas_5[i];
}
for (int i = 0; i < k4; ++i, ++k5)
{
    mas_7[k5] = mas_6[i];
}
0
26.09.2014, 15:09

Не по теме:

Цитата Сообщение от castaway Посмотреть сообщение
если dst перекрывается с src,
Лучше всего на примере простом.

0
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 81
26.09.2014, 15:19  [ТС]
John Prick, а что писать в cout?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
26.09.2014, 15:20
daslex, замени memmove на memcpy
C++
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char str[] = "memmove can be very useful......";
  memmove (str+20,str+15,11);
  puts (str);
  return 0;
}
http://www.cplusplus.com/reference/cstring/memmove/?kw=memmove
1
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 81
26.09.2014, 15:23  [ТС]
castaway, если здесь нет строк, зачем нужна библиотека #include <string.h>?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
26.09.2014, 15:25
Lena86, я это не тебе написал.
Смотри второй пост, там нет строк.
0
2393 / 1914 / 763
Регистрация: 27.07.2012
Сообщений: 5,558
26.09.2014, 15:31
Цитата Сообщение от Lena86 Посмотреть сообщение
а что писать в cout?
C++
1
2
for (int i = 0; i < k5; ++i)
    cout << mas_7[i];
Добавлено через 1 минуту
А вообще, я же вам говорил порядок навести в именах массивов и их размеров. Просто мучение одно каждый раз смотреть, какому массиву какой размер соответствует.
0
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 81
26.09.2014, 15:35  [ТС]
John Prick,
0
26.09.2014, 15:45

Не по теме:

Lena86, что вечером делаешь?

0
26.09.2014, 16:17

Не по теме:

При замене не получилось увидеть разницу

Миниатюры
Объединение двух массивов  
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
26.09.2014, 16:30
del
0
26.09.2014, 16:31

Не по теме:

daslex, у меня сейчас нет возможности проверить. Попробую посмотреть на выходных.

0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
26.09.2014, 16:32
del
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.09.2014, 16:32
Помогаю со студенческими работами здесь

Объединение двух массивов
Добрый день помогите пожалуйста решыть задачу по програмированнию. Есть два массива целых чисел X(n) i Y(n), n&lt;=300. Создать програму...

Объединение двух массивов
Написать программу, которая объединяет два упорядоченных по возрастанию массива в один, также упорядоченный массив.

Объединение двух массивов
Есть два массива констант. a ,b. Необходимо из элементов этих массивов сделать третий массив ab берем 5 элементов массива (b) и по...

Объединение двух массивов
Пожалуйста! Дано два впорядкованих за зростанням масиви A(m) та B(n). Отримати з них за допомогою злиття впорядкований за зростанням...

Объединение двух массивов
Даны два упорядоченных по возрастанию массива действительных чисел одинакового размера: и . Требуется за один просмотр объединить эти...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru