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

list.merge( - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шаблоны http://www.cyberforum.ru/cpp-beginners/thread355293.html
Вспомнилось что во время чтения инфы про шаблоны, находил предложения от Страуструпа "посмотреть код который генерируется из шаблона при инстанцировании и сравнить его с кодом класса написанного вручную". Скажите он имел ввиду ассемблерный код? Или есть возможность каким то образом увидеть именно с++ код который образуется при активации шаблона? Добавлено через 2 часа 19 минут я понимаю что...
C++ Двухмерный массив Дан массив N*M поменять местами второй и третий столбец. Сделать в виде: 1) Функции 2) шаблона 3) Перегрузки Добавлено через 3 часа 10 минут #include<iostream.h> const int n=4,m=4; http://www.cyberforum.ru/cpp-beginners/thread355277.html
Транспонирование матрицы C++
Всем доброй ночи, пытаясь решить тривиальную задачу - столкнулся с трудностями : квадратные матрицы мой код транспонирует, а с прямоугольными вылетает с матом о попытке записи по несуществеующему адресу итд. голова уже не варит в такое время, может кто увидит ошибку? Всем спасибо. #include "stdafx.h" #include "stdlib.h" #include "stdio.h" int _tmain(int argc, _TCHAR* argv)
Вывести фамилии преподавателей с количеством часов меньше 200 и название предмета C++
Дан список преподавателей, предмет и количество часов по предмету. Ввести не менее 8 преподавателей, заполнить структуру, и вывести фамилии преподавателей с количеством часов меньше 200 и название предмета...
C++ цикли http://www.cyberforum.ru/cpp-beginners/thread355248.html
С помощью оператора WHILE напишите программу, вычисляющую сумму квадратов чисел от 1 до введенного вами целого числа.
C++ Раскрасить прямоугольники исходя из условия double x=2.5;//отступ от границы int y=20; const double a=x; RECT r;//массив прямоугольников int k=0; for(int i=0;i<7;i++) { for(int j=0;j<32;j++) { if (level1b==2) подробнее

Показать сообщение отдельно
AzaKendler
214 / 116 / 9
Регистрация: 30.05.2011
Сообщений: 1,772

list.merge( - C++

23.09.2011, 11:44. Просмотров 927. Ответов 4
Метки (Все метки)

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
// list_merge.cpp
  // compile with: /EHsc
#include "stdafx.h"
  #include <list>
  #include <iostream>
  
  int main( ) 
  {
     using namespace std;
     list <int> c1, c2, c3;
     list <int>::iterator c1_Iter, c2_Iter, c3_Iter;
     
     c1.push_back( 3 );
     c1.push_back( 6 );
     c2.push_back( 2 );
     c2.push_back( 4 );
     c3.push_back( 5 );
     c3.push_back( 1 );
     //то что ниже добавлено мной, дабы убедиться получу ли я ошибку такую же как в своем примере.если закомментить добавления то ошибки не будет
      c3.push_back( 1112);
       c3.push_back( 323);
        c3.push_back( 124331 );
        // далее все без изменений - пример их хэлпа по студии 10
  
     cout << "c1 =";
     for ( c1_Iter = c1.begin( ); c1_Iter != c1.end( ); c1_Iter++ )
        cout << " " << *c1_Iter;
     cout << endl;
  
     cout << "c2 =";
     for ( c2_Iter = c2.begin( ); c2_Iter != c2.end( ); c2_Iter++ )
        cout << " " << *c2_Iter;
     cout << endl;
  
     c2.merge( c1 );  // Merge c1 into c2 in (default) ascending order
     c2.sort( greater<int>( ) );
     cout << "After merging c1 with c2 and sorting with >: c2 =";
     for ( c2_Iter = c2.begin( ); c2_Iter != c2.end( ); c2_Iter++ )
        cout << " " << *c2_Iter;
     cout << endl;
  
     cout << "c3 =";
     for ( c3_Iter = c3.begin( ); c3_Iter != c3.end( ); c3_Iter++ )
        cout << " " << *c3_Iter;
     cout << endl;
  
     c2.merge( c3, greater<int>( ) );
     cout << "After merging c3 with c2 according to the '>' comparison relation: c2 =";
     for ( c2_Iter = c2.begin( ); c2_Iter != c2.end( ); c2_Iter++ )
        cout << " " << *c2_Iter;
     cout << endl;
 
return 0;
  }

данный код это копи паст из хелпа по студии 10 на тему list.merge().

Вопрос в следующем. Читая про объединение я понял что перед слиянием списки надо отсортировать, и да после этого оно работает. Так же Страуаутсруп пишет что можно слить списки если один не отсортирован(просто поярдок не определен будет) - тоже в дебаге вылетает на ошибку. Так же имеется второй параметр при сортировке - можно как бы задать критерий. И тут в дебаге я натолкнулся на постоянно вылетающую ошибку - последовательность (порядок) не задан. Полез в хелп и там увидел этот пример. И да он работает, но если добавить в список 3 еще несколько циферок, то в дебаге выскочит та же ошибка. Может кто подскажет пачему?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru