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

Распечатать возрастающие серии последовательности в обратном порядке - C++

Восстановить пароль Регистрация
 
Oreh
1 / 1 / 0
Регистрация: 30.10.2012
Сообщений: 33
30.10.2012, 08:34     Распечатать возрастающие серии последовательности в обратном порядке #1
Пусть дана последовательность целых чисел. Распечатать возрастающие серии последовательности в обратном порядке. Серия - это упорядоченна последовательность последовательность максимальной длины. Стек реализовать с использованием динамического распределение памяти.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2012, 08:34     Распечатать возрастающие серии последовательности в обратном порядке
Посмотрите здесь:

Все буквы каждого слова в предложении записать в обратном порядке и распечатать получившееся предложение C++
C++ используя стек распечатать слова в текстовом файле в обратном порядке
C++ Расположить в обратном порядке часть последовательности
C++ Для каждого числа последовательности вывести новое число, которое получится после записи цифр числа в обратном порядке
Вывод последовательности слов предложения в обратном порядке C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
30.10.2012, 10:44     Распечатать возрастающие серии последовательности в обратном порядке #2
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
#include <string>
#include <ctime>
#include <cstdlib>
#include <iostream>
 
struct StackNodeBase {
  StackNodeBase *prev;
  StackNodeBase *next;
  StackNodeBase() : next(this), prev(this) {}
  StackNodeBase(StackNodeBase *next, StackNodeBase *prev) : next(next), prev(prev) {
    next->prev = prev->next = this;
  }
  virtual ~StackNodeBase() {
    next->prev = prev;
    prev->next = next;
  }
};
 
template <class T>
struct StackNode : public StackNodeBase {
  T value;
  StackNode(StackNodeBase *next, StackNodeBase *prev, const T &value) : StackNodeBase(next, prev), value(value) {}
};
 
template <class T>
class Stack {
 private:
  StackNodeBase base;
  typedef StackNode<T> Node;
 public:
  ~Stack() { clear(); }
  bool isEmpty() const {
    return base.next == &base;
  }
  void clear() {
    while (!isEmpty()) poll();
  }
  void push(const T &value) {
    new Node(base.next, &base, value);
  }
  const T &peek() const { return static_cast<Node*>(base.next)->value; }
  T poll() {
    Node *node = static_cast<Node*>(base.next);
    T value = node->value;
    delete base.next;
    return value;
  }
};
 
template <class T>
std::ostream &operator<<(std::ostream &stream, Stack<T> &stack) {
  while (!stack.isEmpty()) stream << stack.poll() << " ";
  return stream;
}
 
int main(int argc, char **argv) {
  srand(time(0));
  size_t sequenceSize = 10;
  int *sequence = new int[sequenceSize];
  
  for (int i = 0; i < sequenceSize; ++i)
    std::cout << (sequence[i] = rand() % 100) << " ";
  std::cout << std::endl << std::endl;
  
  Stack<int> stack;
  for (int i = 0; i < sequenceSize; ++i) {
    if (!stack.isEmpty() && stack.peek() >= sequence[i])
      std::cout << stack;
    stack.push(sequence[i]);
  }
  std::cout << stack << std::endl;
  
  delete[] sequence;
}
Oreh
1 / 1 / 0
Регистрация: 30.10.2012
Сообщений: 33
30.10.2012, 12:11  [ТС]     Распечатать возрастающие серии последовательности в обратном порядке #3
Спасибо большое) То, что нужно)
Andrea13
3 / 3 / 0
Регистрация: 17.10.2012
Сообщений: 143
19.10.2013, 11:07     Распечатать возрастающие серии последовательности в обратном порядке #4
Помогите под СИ переделать? Я СИ++ не знаю, а знаю только СИ.
Yandex
Объявления
19.10.2013, 11:07     Распечатать возрастающие серии последовательности в обратном порядке
Ответ Создать тему
Опции темы

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