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

классы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ошибка http://www.cyberforum.ru/cpp-beginners/thread176327.html
#include "stdafx.h" #include <stdio.h> #include <iostream> using namespace std; #define MIN_DISCOUNT .97 #define MAX_DISCOUNT .95 int main () {
C++ random Нужно сгенерировать случайное число двух значное как это сделать ? Visual C++ Гуглил но только это . #include <iostream> using namespace std; void main () { setlocale( LC_ALL,"Russian" );... http://www.cyberforum.ru/cpp-beginners/thread176321.html
неполучается виртульный метод C++
class A { private: int value; public: virtual int Method ( int _value ); }; class B : public class A {
C++ Количество элементов массива, равных 0
Помоги решить задания, используя динамические массивы. Заранее спасибо! В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) Количество элементов массива, равных 0. 2) Сумму...
C++ Составить описание класса прямоугольников. http://www.cyberforum.ru/cpp-beginners/thread176303.html
Народ, помогите пожалуйста! Нифига не втыкаю как это сделать... Вот сама задача: Составить описание класса прямоугольников со сторонами, параллельными осям координат. Предусмотреть возможность...
C++ Определить количество столбцов в матрице, не содержащих ни одного нулевого элемента 1) Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного нулевого элемента. 2) Переставить строки заданной матрицы, расположив их в соответствии с... подробнее

Показать сообщение отдельно
Zerkalka
37 / 36 / 2
Регистрация: 09.03.2010
Сообщений: 79
14.10.2010, 15:16
Посмотри это.. может поможет..
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
#include "stdafx.h"
#include "malloc.h"
 
class Stack
{
private:
    char* _data;
    int _dataSize;
    int _count;
           //realocateIfNeeded - перераспределение памяти
    void realocateIfNeeded(int _countNeeded)
    {
        if (_countNeeded>_dataSize)
        {
            if (_dataSize==0) { _dataSize = 1; }
            while (_dataSize<_countNeeded)
            {
                _dataSize *= 2;
            }
            _data = (char*)realloc(_data,_dataSize*sizeof(char));
        }
        if ((_countNeeded<=(_dataSize/2))&&(_dataSize>0))
        {
            while (((_dataSize/2)>=_countNeeded)&&(_dataSize>0))
            {
                _dataSize /= 2;
            }
            _data = (char*)realloc(_data,_dataSize*sizeof(char));
        }
    }
public:
    Stack()
    {
        _data = NULL;
        _dataSize = 0;
        _count = 0;
    }
    ~Stack()
    {
        if (_dataSize!=0)
        {
            free(_data);
        }
    }
    void Push(char Value)
    {
        realocateIfNeeded(_count+1);
        _data[_count] = Value;
        _count++;
    }
    char Pop()
    {
        if (_count==0) { throw; }
        char value = _data[_count-1];
        realocateIfNeeded(_count-1);
        _count--;
        return (value);
    }
    int Count()
    {
        return _count;
    }
};
 
int main(int argc, char* argv[])
{
// Здесь сделай свой пример работы со стеком
 
    Stack s;
    s.Push('A');
    s.Push('B');
    s.Push('C');
    s.Push('D');
    printf(" %c  - %u\n",s.Pop(),s.Count());
    s.Push('E');
    printf(" %c  - %u\n",s.Pop(),s.Count());
    printf(" %c  - %u\n",s.Pop(),s.Count());
    printf(" %c  - %u\n",s.Pop(),s.Count());
    printf(" %c  - %u\n",s.Pop(),s.Count());
    printf("     - %u\n",s.Count());
    return 0;
};
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru