Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
parkito
11 / 11 / 9
Регистрация: 22.03.2010
Сообщений: 693
#1

Не рабочий merge()

19.09.2011, 22:54. Просмотров 1654. Ответов 5
Метки нет (Все метки)

Подскажите пожалуйста почему данная программа напрочь отказывается работать ?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
#include<algorithm>
using namespace std;
int art[]={5,2,3,6,8};
int bar[]={10,20,30,40,50};
int cam[22];
int main ()
{setlocale(LC_ALL,"Rus");
 
merge(art,art+5,bar,bar+5,cam);
for(int i=0;i<22;i++)
    cout<<cam[i]<<endl;
cin.get();
cin.get();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2011, 22:54
Ответы с готовыми решениями:

Компилятор заменяет самописную merge на std::merge
Доброго времени суток. Возник такой вопрос, пишу свою сортировку слиянием,...

Merge Sort
написал реализацию Merge Sort но что то не так получилось))) помогите найти...

Merge sort
Было 100500 раз, знаю. Видел коды, но всеравно не понимаю. У меня есть класс...

list.merge(
// list_merge.cpp // compile with: /EHsc #include &quot;stdafx.h&quot; #include...

Merge и сортировка
Почему merge не сортирует массив в алфавитном порядке? c:

5
PointsEqual
ниначмуроФ
839 / 523 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
19.09.2011, 23:00 #2
у меня работает
1
parkito
11 / 11 / 9
Регистрация: 22.03.2010
Сообщений: 693
19.09.2011, 23:28  [ТС] #3
Цитата Сообщение от PointsEqual Посмотреть сообщение
у меня работает
Вот что у меня выскакивает
0
Миниатюры
Не рабочий merge()  
Net_Wanderer
235 / 208 / 29
Регистрация: 08.06.2011
Сообщений: 467
20.09.2011, 00:46 #4
Вам же написали: "sequence not ordered", merge требует, что бы диапазоны элементов были упорядоченные. Если хотите что бы ваш код работал, замените 4ую строку на
int art[] = {2, 3, 5, 6, 8};
0
parkito
11 / 11 / 9
Регистрация: 22.03.2010
Сообщений: 693
20.09.2011, 19:13  [ТС] #5
Цитата Сообщение от Net_Wanderer Посмотреть сообщение
Вам же написали: "sequence not ordered", merge требует, что бы диапазоны элементов были упорядоченные. Если хотите что бы ваш код работал, замените 4ую строку на
int art[] = {2, 3, 5, 6, 8};
А как сделать так чтоб не нужно было упорядочивать ?
0
Net_Wanderer
235 / 208 / 29
Регистрация: 08.06.2011
Сообщений: 467
20.09.2011, 23:53 #6
Цитата Сообщение от parkito Посмотреть сообщение
А как сделать так чтоб не нужно было упорядочивать ?
Никак
но можно отсортировать с помощью std::sort перед вызовом merge или использовать std::copy.
1
20.09.2011, 23:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2011, 23:53

Merge sort
Здравствуйте, пытаюсь написать сортировку по методу слияния (merge). не...

Реализация merge sort на C++14
Помогите найти (или покажите сами) профессиональную реализацию merge sort с...

Сортировка слиянием (Merge sort)
Пожалуйста, помогите сортировать лист в C++ только надо именно слиянием...


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

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

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