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

Сказка в C++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Блок-схема алгоритма работы программы http://www.cyberforum.ru/cpp-beginners/thread1006491.html
Нужна блок-схема алгоритма работы программы.#include <iostream.h> #include <math.h> void PSort(double *Arr,int n) { double tmp; int i,j; for (i=0; i<n-1; i++) for (j=i+1; j<n; j++) if (fabs(Arr) > 0.1 && fabs(Arr) <= 0.1)
C++ [Error] ld returned 1 exit status господа программисты, объясните мне в чем тут дело, я решил поиграться со счетчиком строк, но вот что то он не запускается #include<iostream> using namespace std; int main() { double f, m; int counter; counter=0; for(f=1.0; f<=100.0; f++) {m=f/3.28; cout«f«"funt"«"ravno"«m«"metr"«endl; http://www.cyberforum.ru/cpp-beginners/thread1006487.html
C++ С помощью функций библиотеки string.h удалить из предложения слово USSR
Помогите пожалуйста!!! Задание таково: удалить из предложения слово USSR. С помощью старых функций библиотеки string.h)
C++ Список инициализации в конструктор C++11. Зачем?
Обьясните зачем в с++11 сделали возможность инициализировать данные м помощью списка {} ? было вот так: CO o(1, 2, 3); теперь можно так: CO o = { 1, 2, 3 }; // для чего?
C++ Массивы C++. Ошибка: M должна быть константой http://www.cyberforum.ru/cpp-beginners/thread1006427.html
Пытаюсь сделать массив, вот что вышло. Выбивает ошибку, что M должна быть константой (15 строка). Как это исправить? #include<iostream> #include<cmath> using namespace std; int main() { setlocale(LC_ALL, "Russian"); int** matrix = NULL;
C++ Используя стек, определить, является ли введённая с клавиатуры строка палиндромом. Используя стек, определить, является ли введённая с клавиатуры строка палиндромом. Не могу разобраться #include "stdafx.h" #include <iostream> #include <conio.h> #include <Windows.h> using namespace System; using namespace std; подробнее

Показать сообщение отдельно
stima
429 / 284 / 16
Регистрация: 22.03.2011
Сообщений: 923
Завершенные тесты: 1
13.11.2013, 18:18     Сказка в C++
Мой вариант))
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
177
178
179
180
181
#include <vector>
#include <iostream>
 
class Egg
{
 
public:
    Egg() { std::cout << "egg created" << std::endl; }
    ~Egg() { std::cout << "egg destroyed" << std::endl; }
};
 
class AObject
{
 
public:
    enum Type { TChicken, TPeople, TMouse };
 
    virtual ~AObject() {}
    virtual Type type() const = 0;
};
 
class IHitter
{
 
public:
    virtual ~IHitter() {}
 
    virtual int tryes() const = 0;
    virtual void hit(Egg**) const = 0;
};
 
class People : public AObject,
               public IHitter
{
 
public:
    People(const std::string& name)
        : name(name)
    {
    }
 
    Type type() const { return TPeople; }
 
    int tryes() const
    {
        return 3;
    }
 
    void hit(Egg**) const
    {
        std::cout << name << " was trying to break egg" << std::endl;   
    }
 
private:
    std::string name;
};
 
class Mouse :  public AObject,
               public IHitter
{
 
public:
    Type type() const { return TMouse; }    
 
    int tryes() const
    {
        return 1;
    }
 
    void hit(Egg** p_egg) const
    {
        std::cout << "mouse was trying to break egg" << std::endl;
 
        delete *p_egg;
        p_egg = NULL;
    }
};
 
class Chicken : public AObject
{
 
public:
    Type type() const { return TChicken; }
 
    Egg* create_egg()
    {
        return new Egg;
    }
};
 
class Context
{
 
public:
    static Context& create()
    {
        static Context instance;
        return instance;
    }
 
    ~Context()
    {
        std::vector<AObject*>::iterator it = objects.begin();
        for ( ; it != objects.end(); ++it)
        {
            delete *it;
        }
        objects.clear();
    }
 
    int exec()
    {
        Chicken *chicken = NULL;
        
        std::vector<AObject*>::iterator it = objects.begin();
        for ( ; it != objects.end() && !chicken; ++it)
        {
            if ((*it)->type() == AObject::TChicken)
            {
                chicken = static_cast<Chicken*>(*it);
            }
        }
 
        if (!chicken)
        {
            std::cout << "Chicken does not exists in this context" << std::endl;
            return -1;
        }
        
        Egg *egg = chicken->create_egg();
        if (!egg)
        {
            std::cout << "Chicken can not create egg" << std::endl;
            return -2;
        }
 
        it = objects.begin();
        for ( ; it != objects.end(); ++it)
        {
            IHitter *hitter = NULL;
            if ((*it)->type() == AObject::TPeople)
            {
                hitter = static_cast<IHitter*>(static_cast<People*>(*it));
            }
            else if ((*it)->type() == AObject::TMouse)
            {
                hitter = static_cast<IHitter*>(static_cast<Mouse*>(*it));
            }
 
            if (hitter)
            {
                for (int i = 0; i < hitter->tryes() && egg; ++i)
                {
                    hitter->hit(&egg);
                }
            }
        }
 
        return 0;
    }
 
private:
    Context()
    {
        objects.push_back(new Chicken);
        
        objects.push_back(new People("grandfather"));
        objects.push_back(new People("grandmother"));
        objects.push_back(new People("granddaughter"));
 
        objects.push_back(new Mouse);
    }
    
    std::vector<AObject*> objects;
};
 
int main()
{
    Context *c = &Context::create();
    return c->exec();
}
 
Текущее время: 22:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru