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

Данные из одного стека записать в другой в обратном порядке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Идеально сбалансированное дерево http://www.cyberforum.ru/cpp-beginners/thread881639.html
Здравствуйте, помогите пожалуйста с задачкой, очень нужно... Из входного потока (терминала или файла) поступает текст, состоящий из слов, которые разделены пробелами. Между словами может быть...
C++ Реализовать классы геометрических абстракций: прямоугольник, квадрат Реализовать классы геометрических абстракций: прямоугольник, квадрат (разрешается использование других классов, помимо перечисленных). Никакой работы с графической подсистемой выполнять не нужно, вся... http://www.cyberforum.ru/cpp-beginners/thread881634.html
Вектор объектов разных классов. Доступ к свойствам элемента вектора C++
есть базовый класс class A { //... } есть производные классы class A1 : public A { //... public:
C++ Кто умеет строить блок схемы?
Написал программу в с++ и не могу построить блок схему...нужно для курсовой... помогите кому не сложно...программа в общем строит последовательность из рекурентного соотношени и делает для первых...
C++ Библиотека Barfic http://www.cyberforum.ru/cpp-beginners/thread881604.html
Насколько я понял это библиотека отвечает за псевдографику в консоли. Где её можно взять? А то гугл молчит по этому вопросу.
C++ Запись в файл из вектора ofstream outfile("ITER.txt"); ostream_iterator<int> Co(outfile," "); copy(v1.begin(),v1.end(),Co); Есть вектор заполненый значениями <int> - v1 надо закинуть инфу из вектора в файл... файл... подробнее

Показать сообщение отдельно
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
28.05.2013, 13:00
Рекурсия, например.
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
#include <iostream>
#include <stack>
 
template <class T>
void copyStackReversed(std::stack<T> &source, std::stack<T> &destination) {
  if (!source.empty()) {
    T value = source.top();
    source.pop();
    destination.push(value);
    copyStackReversed(source, destination);
    source.push(value);
  }
}
 
template <class T>
std::ostream &operator<<(std::ostream &stream, std::stack<T> &stack) {
  if (!stack.empty()) {
    T value = stack.top();
    stream << value;
    stack.pop();
    if (!stack.empty()) {
      stream << ",";
    }
    stream << stack;
    stack.push(value);
  }
  return stream;
}
 
int main(int, char**) {
  std::stack<int> source, destination;
  
  for (int i = 0; i < 10; ++i) {
    source.push(i);
  }
  
  copyStackReversed(source, destination);
  std::cout << source << std::endl << destination << std::endl;
  
  return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru