Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 07.11.2014
Сообщений: 33
1

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

07.11.2014, 23:03. Показов 1425. Ответов 10
Метки нет (Все метки)

Добрый день помогите пожалуйста решыть задачу по програмированнию. Есть два массива целых чисел X(n) i Y(n), n<=300. Создать програму которая находит множник елементов об'единения этих двох массивов. Об'единения двох массивов это все элементы массива X(n) и все элементы массива Y(n) набраны по одному раза. Печатает элементы об'единения та ихнюю суму. Помогите запрограмировать в С++, очень надо, заранее спасибо.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2014, 23:03
Ответы с готовыми решениями:

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

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

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

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

10
С чаем беда...
Эксперт CЭксперт С++
9074 / 4606 / 1250
Регистрация: 18.10.2014
Сообщений: 10,306
07.11.2014, 23:26 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
#include <iostream>
#include <algorithm>
#include <iterator>
using namespace std;
 
int rand_40()
{
  return rand() % 40;
}
 
int main()
{
  const int N = 20;
 
  int x[N];
  generate(x, x + N, rand_40);
  copy_n(x, N, ostream_iterator<int>(cout, " "));
  cout << endl << endl;
 
  int y[N];
  generate(y, y + N, rand_40);
  copy_n(y, N, ostream_iterator<int>(cout, " "));
  cout << endl << endl;
 
  sort(x, x + N);
  sort(y, y + N);
 
  int m[N * 2];
  int *m_end = set_union(x, x + N, y, y + N, m);
  m_end = unique(m, m_end);
 
  copy(m, m_end, ostream_iterator<int>(cout, " "));
  cout << endl;
}
Добавлено через 5 минут
Или даже

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
#include <iostream>
#include <set>
#include <iterator>
#include <algorithm>
using namespace std;
 
int rand_40()
{
  return rand() % 40;
}
 
int main()
{
  const int N = 20;
 
  int x[N];
  generate(x, x + N, rand_40);
  copy_n(x, N, ostream_iterator<int>(cout, " "));
  cout << endl << endl;
 
  int y[N];
  generate(y, y + N, rand_40);
  copy_n(y, N, ostream_iterator<int>(cout, " "));
  cout << endl << endl;
 
  set<int> m;
  m.insert(x, x + N);
  m.insert(y, y + N);
 
  copy(m.begin(), m.end(), ostream_iterator<int>(cout, " "));
  cout << endl;
}
Добавлено через 1 минуту
Для печати суммы в первом варинате

C++
1
cout << accumulate(m, m_end, 0) << endl;
А во втором

C++
1
cout << accumulate(m.begin(), m.end(), 0) << endl;
0
0 / 0 / 0
Регистрация: 07.11.2014
Сообщений: 33
07.11.2014, 23:35  [ТС] 3
Спасибо огромное но можно както попроще я просто первый курс сейчас и мы еще не учили такие библиотеки

Добавлено через 7 минут
Я не могу понять как их об'единять
0
4 / 4 / 2
Регистрация: 27.10.2014
Сообщений: 90
07.11.2014, 23:39 4
Элементы массивов записываете в 3 массив, потом удаляете оттуда повторы
0
0 / 0 / 0
Регистрация: 07.11.2014
Сообщений: 33
07.11.2014, 23:42  [ТС] 5
Да но как ето запрограмировать чтобы элементы брались по одному как требует задание?
0
4 / 4 / 2
Регистрация: 27.10.2014
Сообщений: 90
07.11.2014, 23:49 6
Да но как ето запрограмировать чтобы элементы брались по одному как требует задание?
то есть по одному?
0
0 / 0 / 0
Регистрация: 07.11.2014
Сообщений: 33
07.11.2014, 23:52  [ТС] 7
Об'единения двох массивов это все элементы массива X(n) и все элементы массива Y(n) набраны по одному раза.
Вот как требует задание
0
4 / 4 / 2
Регистрация: 27.10.2014
Сообщений: 90
07.11.2014, 23:56 8
Об'единения двох массивов это все элементы массива X(n) и все элементы массива Y(n) набраны по одному раза.
Вот как требует задание
Записываете все элементы заданных массивов в 3 массив, записываете все неповторяющиеся элементы 3 массива в 4 массив.
4 массив - и есть искомое объединение
0
0 / 0 / 0
Регистрация: 07.11.2014
Сообщений: 33
08.11.2014, 00:01  [ТС] 9
Можете пожалуйста показать код програмы этого кусочка
0
4 / 4 / 2
Регистрация: 27.10.2014
Сообщений: 90
08.11.2014, 00:22 10
int main(){
const int N=20, M=40;
int s=0,k=0; //k - счетчик числа повторов
int arr1[N], arr2[N], arr3[M], arr4[M];
<функция заполнения arr1, arr2 числами>
for (int i=; i<20; i++){
arr3[i]=arr1[i];
arr3[20+i]=arr2[i];
if(arr1[i]=0|arr2[i]=0){s=1;}
else{}
}

for (int i=; i<40; i++)
{
for (int j=; j<40; j++)
{if (arr3[i]=arr3[j]){arr3[j]=0;
k=k+1;
}else {}
}
}
//arr4 = new int[s+k];//массив переменной длины
const P=s+k;
int arr4[P];//пожалуй так получше
if(s!=0){arr4[s+k]=0;}else{}
s=0;
for (int i=; i<40; i++){
if (arr3[i]!=0){s=s+1;
arr4[s]=arr3[i];}
else {}
}
return 0;
}

//код ооочень корявый,но щас я иду спать

Добавлено через 6 минут
вместо const P=s+k;
должно быть const int P=s+k;
0
0 / 0 / 0
Регистрация: 07.11.2014
Сообщений: 33
08.11.2014, 00:37  [ТС] 11
Огромное спасибо без вас я бы не справился, рад что на форуме работают хорошие люди
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2014, 00:37

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Объединение двух массивов
Выполнено два задания:нашли Элементы массива A, которые не включаются в B и Элементы массива B,...

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

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

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

Массивы: объединение двух массивов
Решите пожалуйста задачу из задачника Юркина. 4.15. Заданы массивы A(m) и B(n). Получить массив...

Объединение двух массивов в третий
Как это можно сделать?


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

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

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