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

Compile-time алгоритмы. сборник - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание простого приложения для Windows 9x/NT, решил как смог. Пожалуйста подскажите что исправить или добавить http://www.cyberforum.ru/cpp/thread321561.html
задание: окно фон зелёный размер 500х400 курсор IDT_HAND При закрытии окна вывести ФИО Мой вариант: HWND hWnd Wnd Class wc; wc.Style=NULL; wc.hCursor=LoadCursor(NULL,IDT_HAND) wc.lpszMenuName=NULL;
C++ Ошибка что то типа не объявленный идентификатор,и типа невозможно преобразовать CStringW в там что..то Даже не знаю как сказать... короче есть база а Access,которую я подключил к проекту MFC,и в этой базе всего одно поле с текстовым типом данных,в с++ который называется CStringW,и вот я его не могу вывести,везде выдает ошибку с переменной данного типа. Ошибка что то типа не объявленный идентификатор,и типа невозможно преобразовать CStringW в там что..то Помогите!!!!!! http://www.cyberforum.ru/cpp/thread321133.html
IEnumIDList::Next C++
Буду краток, данный код не работает. Параметр LPITEMIDLIST pidl я передаю правильный! Пожалусто пишите по сути... LPITEMIDLIST * CPidlList::MkItemIDList(LPITEMIDLIST pidl) { IShellFolder *pFolder = NULL; IEnumIDList *pEnum; ULONG fa = SFGAO_FILESYSTEM,cFetched = 0; if(bInit && pidl != 0) { if((hRes = pShell->BindToObject(pidl, NULL, IID_IShellFolder, (void**)&pFolder )) != S_OK)
C++ ПЕРЕДЕЛАТЬ СУЩЕСТВУЮЩЕЮ ПРОГРАМУ НА ПАРАЛЕЛЬНУЮ(МРІ)
Уважаемые форумчане помогите переделать уже готовую программу разработанную в Visual Studio 2008, на языке С + + в параллельную (МРИ), сам MPI уже установил и протестив все работает вот кстати ссылки как настраивается МРИ под виндовс http://iproc.ru/programming/ mpich-windows / # post-2638 возможно кому поможет. Ниже приведены исходные коды программы Ну очень нужна помощь знающих людей
C++ Измерение ускорения на микроконтроллере ADuC812 http://www.cyberforum.ru/cpp/thread319307.html
нужна Программа для измерения ускорения на микроконтроллере ADuC 812 (прошивка для акселерометра ADXL) с выводом информации на ЖК-экран 8*1
C++ Первый старт. Прошу помочь. Писал раньше на С# , PHP. Щас перехожу на С++ и есть несколько вопросов. Я собираюсь писать игры с использованием API DirectX. Работаю на MVS2010. Библиотеки DirectX подключал. Вот следующие вопросы. Какой проект правильней всего создавать? Консольное приложение Win32 Проект Win32 Пустой проект подробнее

Показать сообщение отдельно
nameless
Эксперт C++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
30.08.2012, 23:21
Получение среза (slice) последовательности.

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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
#include <iostream>
 
#include <boost/mpl/vector_c.hpp>
#include <boost/mpl/vector.hpp>
#include <boost/mpl/for_each.hpp> 
#include <boost/mpl/if.hpp>
#include <boost/mpl/equal_to.hpp>
#include <boost/mpl/greater_equal.hpp>
#include <boost/mpl/greater.hpp>
#include <boost/mpl/push_back.hpp>
#include <boost/mpl/clear.hpp>
#include <boost/mpl/at.hpp>
#include <boost/mpl/size.hpp>
 
namespace mpl = boost::mpl;
 
struct PrintSeq {
   template <typename T>
   void operator()(T val) {
      std::cout << val << " ";
   }
};
 
template <typename Index>
struct GetToken {
   typedef typename
      mpl::if_ <
         typename mpl::greater_equal <
            Index,
            mpl::int_ <0>   
         >::type,
         mpl::true_,
         mpl::false_
      >::type type;
};
 
template <
   typename Index,
   typename IndexToken,
   typename Seq
>
struct GetIndex {
   typedef typename
      mpl::if_ <
         typename mpl::equal_to <
            IndexToken,
            mpl::true_
         >::type,
         Index,
         typename mpl::plus <
            Index,
            typename mpl::size <Seq>::type
         >::type
      >::type type;
};
 
template <typename Seq, typename NewSeq, int Start, int End>
struct Slice {
   typedef typename
      Slice <
         Seq,
         typename mpl::push_back <
            NewSeq,
            typename mpl::at_c <Seq, Start>::type
         >::type,
         Start + 1,
         End
      >::type type;
};
 
template <typename Seq, typename NewSeq, int End>
struct Slice <Seq, NewSeq, End, End> {
   typedef NewSeq type;
};
 
template <typename Seq, int Start, int End>
struct SliceSeq {
   typedef mpl::int_ <Start> StartType;
   typedef mpl::int_ <End> EndType;
   
   typedef typename
      GetIndex <
         StartType,
         typename GetToken <StartType>::type,
         Seq
      >::type StartNew;
   
   typedef typename
      GetIndex <
         EndType,
         typename GetToken <EndType>::type,
         Seq
      >::type EndNew;
   
   typedef typename
      Slice <
         Seq,
         mpl::vector <>,
         mpl::if_ <
            typename mpl::less <
               StartNew,
               EndNew
            >::type,
            StartNew,
            EndNew
         >::type::value,
         EndNew::value
      >::type type;
};
 
int main() {
    typedef mpl::vector_c <int, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10> input_vector;
 
   mpl::for_each <
      SliceSeq <
         input_vector,
         0,
         5
      >::type
   >(PrintSeq());
   std::cout << "\n";
   
   mpl::for_each <
      SliceSeq <
         input_vector,
         2,
         7
      >::type
   >(PrintSeq());
   std::cout << "\n";
   
   mpl::for_each <
      SliceSeq <
         input_vector,
         4,
         4
      >::type
   >(PrintSeq());
   std::cout << "\n";
   
   mpl::for_each <
      SliceSeq <
         input_vector,
         -6,
         -2
      >::type
   >(PrintSeq());
   std::cout << "\n";
   
   mpl::for_each <
      SliceSeq <
         input_vector,
         -3,
         8
      >::type
   >(PrintSeq());
   std::cout << "\n";
   
   mpl::for_each <
      SliceSeq <
         input_vector,
         -3,
         0
      >::type
   >(PrintSeq());
   std::cout << "\n";
   
   mpl::for_each <
      SliceSeq <
         input_vector,
         -2,
         -7
      >::type
   >(PrintSeq());
   std::cout << "\n";
}
Bash
1
2
3
4
5
6
7
nameless@l49-53-61:~/cpp/mpl_slice$ g++ main.cpp -o main
nameless@l49-53-61:~/cpp/mpl_slice$ ./main
1 2 3 4 5 
3 4 5 6 7 
 
5 6 7 8 
8

Не по теме:

liveworkspace перестал загружаться у меня, ни с того ни сего ..

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