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

класс stack - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести формулу для решения http://www.cyberforum.ru/cpp-beginners/thread230199.html
В общем есть задача, но не могу вывести формулу для ее решения! Текст задачи: 3.82. Около стены наклонно стоит палка длиной х метров. Один её конец находится на расстоя-нии у метров от стены. Определить значение угла А между палкой и полом для значений x=k метров и у, изменяющегося от 2 до 3 с шагом h.
C++ Поиск ошибок в файле нужно составить программу на С++ (консоль) которая будет открывать файл с простым кодом С++ и искать простые ошибки (неиспользуемые переменные,отстуствие типа,лишние пробелы итд, отстутствие # при подключении библиотек итд) Добавлено через 3 часа 7 минут Имеется файл с текстом программы на языке С\С++. Написать программу, определяющую, какие основные типы данных применяются в этой программе,... http://www.cyberforum.ru/cpp-beginners/thread230190.html
C++ Одномерный массив.
В последовательности действительных чисел есть только положительные и отрицательные элементы. Вычислить произведение отрицательных элементов P, затем произведение положительных элементов D. Сравнить модули P и D, указать, какое из произведений по модулю больше.
Что то с классами не так C++
Люди! Пишу курсовую, осталось всего ничего. И тут бах - странные ошибки полезли. В общем дело было так. Загрузился в винду, запустил VS C++ 6.0, и тут он после редактирования и компиляции выдает ошибку: friend.obj : error LNK2005: "class Date d" (?d@@3VDate@@A) already defined in calc.obj friend.obj : error LNK2005: "class Date d" (?d@@3VDate@@A) already defined in calc.obj...
C++ возрастающая последовательность http://www.cyberforum.ru/cpp-beginners/thread230151.html
необходимо удалить из заданного массива 4 элемента так, чтобы оставшиеся образовали возрастающую последовательность????
C++ Порядковый номер буквы в строке Есть прога, выводит в алф. порядке буквы, вход в текст по одному разу. Не знаю как сделать, чтобы выводила собственно номер первой найденной буквы, например: ввели bba ggy uuh вывело a y h номер, на котором стоит а - 3 #include <iostream> #include <cstdlib> #include <ctime> using namespace std; подробнее

Показать сообщение отдельно
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
17.01.2011, 19:30     класс stack
Поискать по форуму не судьба? Тут таких стопицот.
Без перегрузки
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
#include <cstdio>
#include <cstddef>
#include <cassert>
 
template <class DataType>
class Stack {
 public:
  Stack(void) : size_(0), capacity_(0), data_(NULL) {}
  explicit Stack(size_t capacity)
    : size_(0), capacity_(capacity), data_(new DataType[capacity]) {}
  ~Stack() {
    delete [] data_;
  }
  void Push(const DataType &value) {
    assert(size_ <= capacity_);
    if (size_ == capacity_)
      set_capacity(size_ + 1);
    data_[size_++] = value;
  }
  DataType &Top() {
    assert(size_ > 0);
    return data_[size_ - 1];
  }
  DataType &Pop() {
    assert(size_ > 0);
    return data_[--size_];
  }
  size_t size() const { return size_; }
  size_t capacity() const { return capacity_; }
  void set_capacity(size_t new_capacity) {
    if (new_capacity == capacity_) return;
    DataType *new_data = new DataType[new_capacity];
    size_t smaller_capacity = (capacity_ < new_capacity)?
                               capacity_ : new_capacity;
    for (int i = 0; i < smaller_capacity; ++i)
      new_data[i] = data_[i];
    delete [] data_;
    data_ = new_data;
    capacity_ = new_capacity;
  }
 private:
  size_t size_;
  size_t capacity_;
  DataType *data_;
};
 
int main(int argc, char *argv[]) {
  Stack<int> stack;
 
  for (int i = 0; i < 10; ++i)
    stack.Push(i);
 
  for (int i = 0; i < 10; ++i)
    printf("%d ", stack.Pop());
 
  return 0;
}
Если перегрузку оператора "+" понятно, как реализовывать, то как реализовывать "-" не понятно.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru