Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Геометрическая задача, Си (вывести координаты вершин треугольника , длина высоты которого есть наибольшей) https://www.cyberforum.ru/ cpp-beginners/ thread887091.html
Помогите пожалуйста, просто совсем не имею представления как можно написать такую программу: на площине задано множество точек, которые могут создавать прямоугольные треугольники. Вывести координаты вершин треугольника , длина высоты которого есть наибольшей.
Норма матрицы C++
Найти норму матрицы, подскажите чему она будет тут равна, матрица может быть любая
C++ Изобразить движущуюся прямую ЗАДАЧА https://www.cyberforum.ru/ cpp-beginners/ thread887061.html
Изобразить движущуюся прямую, которая в каждый момент касается окружности данного радиуса, центр которой совпадает с центром экрана. Точка касания перемещается по окружности с постоянной угловой скоростью сама окружность невидима. Добавлено через 22 секунды НА языке С++ Добавлено через 3 минуты не сложная вроде задача
C++ Графика (нужно переделать с Pascal на С++) Изобразить равнобедренный треугольник, вращающийся вокруг своей высоты, расположенной параллельно вертикальной оси экрана uses graph,crt; var x,y,h,d:integer; begin initgraph(x,y,''); x:=getmaxX div 2; y:=getmaxY div 2+75; d:=50; h:=150; https://www.cyberforum.ru/ cpp-beginners/ thread887060.html
C++ Работа со звуком (как звуковые спектры определённого звукового файла записать цифрами в массив)
как звуковые спектры определённого звукового файла записать цифрами в массив.
C++ Перевод с Паскаля на С++! https://www.cyberforum.ru/ cpp-beginners/ thread887045.html
Доброе утро всем! У меня такая проблема: не могу перевести код с Паскаля на С++! Помогите, добрые программисты... uses crt,graph; {процедура вращения точки вокруг центра} procedure Vrash(a:real;var x,y:integer;const centrx,centry:integer); var px:integer; begin
C++ Не вызывается деструктор https://www.cyberforum.ru/ cpp-beginners/ thread887031.html
_Здравствуйте. Я новичок в программировании, сейчас изучаю самостоятельно С++ по книге Джесса Либерти. При разборе одного из примеров передачи параметров в функцию как ссылок (с помощью указателей),столкнулся с тем, что в отличие от output в книге, у меня не выводится сообщение, которое прописано в деструкторе. Скажите плиз, в чем причина? Код: // Передача константных указателей на объекты....
Найти число расположений N ферзей на шахматной доске размером N*N C++
Необходимо расположить N ферзей так, чтобы ни один из них не был под ударом, то есть по одному на каждый столбец, каждую строку и каждую диагональ. Я думаю, что это возможно только тогда, когда один ферзь отстоит от другого на ход коня (на 1 или 2 столбца и 2 или 1 строку). Сам алгоритм мне ясен, но программа не работает (проходит цикл определенное количество раз и выдает необработанное...
C++ Рекурсия (вывести значение целочисленного выражения, заданного в виде строки S) https://www.cyberforum.ru/ cpp-beginners/ thread887001.html
Вывести значение целочисленного выражения, заданного в виде строки S. Выражение определяется следующим образом: <выражение>::=<цифра> | (<выражение><знак><выражение>) <знак>::= + | – | * Эту задачу нужно решить с помощью рекурсии. Кто может объяснить что это такое и как его есть? Задачу.
C++ Сумма ряда, ошибка https://www.cyberforum.ru/ cpp-beginners/ thread886993.html
Я не мега-прогер, так что не судите... Вылетает ошибка. expected 'while' before numeric constant. expected ')' before ';' token. Вот сам код. #include <iostream> #include <math.h> #include <iomanip>
C++ Заданную строку перевести в массив из слов
Всем привет, вот дан string предложение, нужно все это перевести в массив из слов . Что можно сделать?
C++ Быстро возвести в квадрат число заданной длины (<16 байт) Нужно быстро возвести в квадрат число заданной длины (<16 байт). Лучшее, что я пока придумал -- это делить число на 2 маленьких по формуле: (a+bx)^2=2(\frac 12a^2+abx+\frac 12b^2x^2), где умножение, деление на 2 -- просто сдвиг на 1. Я сначала делю, а потом умножаю, чтоб в месте abx не было переполнения. Тут x=2^{32}. После этого я числа a^2, b^2 считаю по такой же формуле (рекуррентно), а числа... https://www.cyberforum.ru/ cpp-beginners/ thread886980.html
6 / 6 / 5
Регистрация: 22.11.2012
Сообщений: 95
02.06.2013, 14:20  [ТС] 0

Виртуальные функции и наследование - C++ - Ответ 4656109

02.06.2013, 14:20. Показов 961. Ответов 2
Метки (Все метки)

Ответ

cпасибо огромное!!!

Добавлено через 37 минут
в общем определила функции create для 3х фигур
Круг:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
virtual void create(void)
        {
            float angle; 
            int i;
            glClear(GL_COLOR_BUFFER_BIT);
            glColor3f(0.0, 0.0, 0.0);
            glPushMatrix(); 
            glLoadIdentity(); 
            glLineWidth(1.0f); 
            glBegin(GL_LINE_LOOP); 
                for(i = 0; i < 100; i++)
                { 
                    angle = i*2*3.14/100; 
                    glVertex2f(x + (cos(angle) * radius), y + (sin(angle) * radius)); 
                }            
            glEnd();  
            glPopMatrix(); 
        }

Квадрат
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    virtual void create(void)
        {
            glClear(GL_COLOR_BUFFER_BIT);
            glColor3f(0.0, 0.0, 0.0); 
            glLoadIdentity(); 
            glLineWidth(1.0f); 
            glBegin(GL_LINE_STRIP);
                glVertex2f(x-d,y+d);
                glVertex2f(x+d,y+d);
                glVertex2f(x-d,y-d);
                glVertex2f(x+d,y-d);
                glVertex2f(x-d,y+d);
            glEnd();
        
        }

треугольник
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    virtual void create(void)
        {
            glClear(GL_COLOR_BUFFER_BIT);
            glColor3f(0.0, 0.0, 0.0);
            glLoadIdentity(); 
            glLineWidth(1.0f); 
            glBegin(GL_LINE_STRIP);
                glVertex2f(x,y+he);
                glVertex2f(x-ka,y);
                glVertex2f(x+ka,y);
                glVertex2f(x,y+he);
            glEnd();
        }
};

вот функция дисплэй на экран
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
void display()
{
    int i;
    for (i=0;i<100;i++)
    {
        shapes[i]->create();
    }
    glFlush();
}

но когда запускаю у меня число белый экран никаких фигур ничего подобного
еще раз вся прога
Кликните здесь для просмотра всего текста
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
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
#include <GL/glut.h>
#include <time.h>
#include <stdlib.h>
#include <math.h>
int w=750;
int h=750;
class shape
{
      protected:
          int x,y,r,g,b;
          float a;
      public:
          virtual void create(void)=0;
          virtual void init(void)=0;
}*shapes[100];
class circle:public shape
{
    int radius;
    public:
        virtual void init(void)
        {
            x=rand()%w;
            y=rand()%h;
            radius=rand()%15;
            int choose;
            choose=rand()%3;
            switch(choose)
            {
            case 0:
                r=1;
                g=0;
                b=0;
                break;
            case 1:
                r=0;
                g=1;
                b=0;
                break;
            case 2:
                r=0;
                g=0;
                b=1;
                break;
            }
        }
        virtual void create(void)
        {
            float angle; 
            int i;
            glClear(GL_COLOR_BUFFER_BIT);
            glColor3f(0.0, 0.0, 0.0);
            glPushMatrix(); 
            glLoadIdentity(); 
            glLineWidth(1.0f); 
            glBegin(GL_LINE_LOOP); 
                for(i = 0; i < 100; i++)
                { 
                    angle = i*2*3.14/100; 
                    glVertex2f(x + (cos(angle) * radius), y + (sin(angle) * radius)); 
                }            
            glEnd();  
            glPopMatrix(); 
        }
 
};
class rectangle:public shape
{
    int d;
public:
    virtual void init(void)
        {
            x=rand()%w;
            y=rand()%h;
            d=rand()%10;
            int choose;
            choose=rand()%3;
            switch(choose)
            {
            case 0:
                r=1;
                g=0;
                b=0;
                break;
            case 1:
                r=0;
                g=1;
                b=0;
                break;
            case 2:
                r=0;
                g=0;
                b=1;
                break;
            }
        }
    virtual void create(void)
        {
            glClear(GL_COLOR_BUFFER_BIT);
            glColor3f(0.0, 0.0, 0.0); 
            glLoadIdentity(); 
            glLineWidth(1.0f); 
            glBegin(GL_LINE_STRIP);
                glVertex2f(x-d,y+d);
                glVertex2f(x+d,y+d);
                glVertex2f(x-d,y-d);
                glVertex2f(x+d,y-d);
                glVertex2f(x-d,y+d);
            glEnd();
        
        }
};
class triangle:public shape
{
    int he,ka;
public:
    virtual void init(void)
        {
            x=rand()%w-w/2;
            y=rand()%h-h/2;
            he=rand()%10;
            ka=rand()%5;
            int choose;
            choose=rand()%3;
            switch(choose)
            {
            case 0:
                r=1;
                g=0;
                b=0;
                break;
            case 1:
                r=0;
                g=1;
                b=0;
                break;
            case 2:
                r=0;
                g=0;
                b=1;
                break;
            }
        }
    virtual void create(void)
        {
            glClear(GL_COLOR_BUFFER_BIT);
            glColor3f(0.0, 0.0, 0.0);
            glLoadIdentity(); 
            glLineWidth(1.0f); 
            glBegin(GL_LINE_STRIP);
                glVertex2f(x,y+he);
                glVertex2f(x-ka,y);
                glVertex2f(x+ka,y);
                glVertex2f(x,y+he);
            glEnd();
        }
};
                
void display()
{
    int i;
    for (i=0;i<100;i++)
    {
        shapes[i]->create();
    }
    glFlush();
}
 
int main(int argc, char **argv)
{
    int i;
    for (i=0;i<100;i++)
    {
        int choose;
        choose=rand()%3;
        switch(choose)
        {
        case 0:
            shapes[i]=new circle;
            break;
        case 1:
            shapes[i]=new rectangle;
            break;
        case 2:
            shapes[i]=new triangle;
            break;
        }
        shapes[i]->init();
        
    }
  srand( time( NULL ) );
  glutInit(&argc, argv);
  glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
  glutInitWindowSize(w, h);
  glutInitWindowPosition(100, 150);
  glutCreateWindow("Random shapes");
  glClearColor(1.0, 1.0, 1.0, 1.0);
  glMatrixMode(GL_PROJECTION);
  //glLoadIdentity();
  glOrtho(-w/2, w/2,-h/2, h/2,-1,1);
  glutDisplayFunc(display);
  glutMainLoop();
}

sos (^^)

Вернуться к обсуждению:
Виртуальные функции и наследование C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2013, 14:20
Готовые ответы и решения:

Наследование и виртуальные функции
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cstring&gt; using namespace std; #include...

Наследование и виртуальные функции
Доброго времени суток, нужна ваша помощь в создании программы &quot;Написать программу, в которой...

Наследование и виртуальные функции
Здравствуйте! помогите дописать программу, в которой создается иерархия классов. Включить ...

Наследование и виртуальные функции
Доброго времени суток. Есть два вопроса: 1) Подскажите, плиз, что делаю не так. Есть базовый...

2
02.06.2013, 14:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2013, 14:20
Помогаю со студенческими работами здесь

Наследование и виртуальные функции
Скажите, часто ли вы при проектирование реальных программ используете наследование?

Наследование и виртуальные функции
Написать программу в которой создается иерархия классов.Включить полиморфные обьекты в связанный...

Наследование и виртуальные функции
⦁ Определить иерархию классов (в соответствии с вариантом). ⦁ Определить в классе...

Наследование и виртуальные функции
Общая постановка. Программа должна содержать: - базовый класс Х, включающий два элемента х1, х2...

Наследование и виртуальные функции
Получить практические навыки создания иерархии классов и использования статических компонентов...

Наследование и виртуальные функции
Определить иерархию классов (игрушка, продукт, товар, молочный продукт). Определить в классе...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru