Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
lelik759
0 / 0 / 0
Регистрация: 07.10.2009
Сообщений: 29
#1

Объединение структур данных - C++

15.11.2009, 21:15. Просмотров 1362. Ответов 3
Метки нет (Все метки)

Есть такое задание :
Объявите три структуры с элементами целого типа:очередь dmer ,вектор a_vec,и список a_list.Заполните список и вектор элементами.При помощи алгортма merge объедените в очереди вектор a_vec и список a_list. Выведите содержимое полученной очереди на экран.Помогите пожалуйста написать программу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2009, 21:15     Объединение структур данных
Посмотрите здесь:

Объединение строк, конвертация данных C++
C++ обработки структур данных
C++ Обработка структур данных
C++ обработки структур данных
C++ Запись и чтение структур данных
C++ Список структур данных
Объявить объединение из двух структур и структуру из двух объединений C++
Запись данных в массив структур C++
Объединение двух структур C++
Объединение структур C++
C++ Использование структур данных
C++ Объединение данных из N файлов в один файл

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
15.11.2009, 21:52     Объединение структур данных #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <set>
#include <vector>
#include <list>
#include<algorithm>
int main()
{
vector<int>v;
list<int>l;
set<int>s;
for(i=0;i<3;i++)
v.push_back(i);
for(j=5;j<10;j++)
j.push_back(j)
std::merge(v.begin(),v.end(),l,l+5,back_insterter(s));
print(s); // функцию вывода можно отдельно написать или через итератор вывести на экран
return 0;
}
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
15.11.2009, 22:15     Объединение структур данных #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <deque>
#include <vector>
#include <list>
#include <iostream>
#include <algorithm>
int main()
{
    setlocale(LC_ALL,"RUSSIAN");
    std::vector<int>vec(10);
    std::cout<<"заполните вектор"<<std::endl;
    for (std::vector<int>::iterator iter = vec.begin();iter!=vec.end();++iter)
        std::cin>>*iter;
    std::list<int>list(10);
    std::cout<<"заполните лист"<<std::endl;
    for (std::list<int>::iterator iter = list.begin();iter!=list.end();++iter)
        std::cin>>*iter;
    std::deque<int>dec(20);
    std::merge(vec.begin(),vec.end(),list.begin(),list.end(),dec.begin());
    std::cout<<"наш дек :"<<std::endl;
    std::copy(dec.begin(),dec.end(),std::ostream_iterator<int>(std::cout," "));
    return 0;
}
Добавлено через 15 минут
Sekt, а лучше для этого изобрели алгоритм std::copy;
lelik759
0 / 0 / 0
Регистрация: 07.10.2009
Сообщений: 29
16.11.2009, 22:28  [ТС]     Объединение структур данных #4
прикомпиляции пишет :@C2040: 'iter' : 'class std::list<int,class std::allocator<int> >::iterator' differs in levels of indirection from 'int *'
C2679: binary '!=' : no operator defined which takes a right-hand operand of type 'class std::list<int,class std::allocator<int> >::iterator' (or there is no acceptable co
nversion)

Добавлено через 7 минут
Разобрался,для списка надо было объявить итератор с отличным именем от итератора вектора.

Но непонятно почему кирилицу не поддерживает ?Компилятор такой ?
Yandex
Объявления
16.11.2009, 22:28     Объединение структур данных
Ответ Создать тему
Опции темы

Текущее время: 05:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru