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

вращение фигуры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не могу определить ошибку (конкретизация шаблонной функции) http://www.cyberforum.ru/cpp-beginners/thread453133.html
Всем привет. Есть шаблонная функция template<typename T> void Tree<T>::inTreeHelper(const T &data, Leaf<T> *currentLeafPtr) её нужно конкретизировать для типа char* определяю её как template<> void Tree<char*>::inTreeHelper(const char& *data, Leaf<char*> *currentLeafPtr) и компилятор выдаёт ошибку
C++ строка Всем привет! Есть вопрос: Создать класс Time для работы со временем в формате «час:минута:секунда». Класс должен включать в себя функциию инициализации строкой (например, «23:59:59»). Помогите пожалуйста реализовать, а то неправильно получается(( http://www.cyberforum.ru/cpp-beginners/thread453122.html
C++ Алгоритмы замещения страниц(STL, вторая попытка)
Помогите пожалуйста найти ошибку в алгоритме, вроде все правильно работает, но иногда при разных входных данных возникает ошибка. Так вот, решил реализовать алгоритм замещения страниц "Вторая попытка". Коротко о задаче, имеется память ограниченного размера, в память на вход подаются страницы, алгоритм подобен FIFO, отличие в том, что если страница есть в памяти, то она переводится в конец...
Почему for_each() не выводит кирилицу C++
Вот такой код: #include <iostream> #include <string> #include <vector> #include <algorithm> void show(const std::string & s); int main() { using namespace std; setlocale(0, "");
C++ Перевод из одной системы счисления в другую. http://www.cyberforum.ru/cpp-beginners/thread453106.html
Мне задали сделать калькулятор для программиста на языке С. В нем требуется выполнение операций только целые числа, 4 арифметических действия, битовые операции | & ~ ^, перевод в 8,10,16,2 систему исчисления. Вопрос: Есть ли функции в С которые осуществляют перевод в 8,10,16,2 систему исчисления? Какие это функции, как их использовать. P.S. Если вы уже делали такой калькулятор, выложите...
C++ Числа - близнецы В массиве простых чисел определить наличие чисел-близнецов (11-13; 7-5; 3-5) подробнее

Показать сообщение отдельно
Kot_Enot
0 / 0 / 0
Регистрация: 03.12.2011
Сообщений: 33

вращение фигуры - C++

26.02.2012, 16:05. Просмотров 2816. Ответов 1
Метки (Все метки)

Добрый день!
помогите пожалуйста написать метод вращения фигуры по заданному углу.
вот основной код программы:
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
// laba2-9.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include "Math.h"
using namespace std;
 
class Point{
public:int x,y;
};
 
class Shape { // Абстрактный базовый класс
public:
    virtual void CreateShape()=0;//Задание координат фигуры
    virtual void Show()=0; // Вывод фигуры
           virtual void Rotate(int angle)=0;//Поворот фигуры    
};
 
 
 
 
class Kvadrat : public Shape {
Point t1,t2;
int _x;
public:
    void CreateShape()
    {
        cout<<"Input 1 coordinates points (left top) of Kvadrata"<<endl;
        cout<<"x1 = ";
        cin>>_x;
        t1.x=_x; 
        cout<<"y1 = ";
        cin>>_x;
        t1.y=_x;
        cout<<"Input 2 coordinates points (right bottom) of Kvadrata"<<endl;
        cout<<"x2 = ";
        cin>>_x;
        t2.x=_x; 
        cout<<"y2 = ";
        cin>>_x;
        t2.y=_x;
    }
    void Show()
    {
        cout<<"Kvadrat s koordinatami: "<<"("<<t1.x<<","<<t1.y<<")"<<"("<<t2.x<<","<<t1.y<<")"<<"("<<t2.x<<","<<t2.y<<")"<<"("<<t1.x<<","<<t2.y<<")"<<endl<<endl;
    }
    
    void Rotate(int angle)
    {
        //вращение квадрата
    }
    
};
class Triugolnic : public Shape {
Point t1,t2,t3;
int _x;
public:
    void CreateShape()
    {
        cout<<"Input 1 coordinates points of Pentagona"<<endl;
        cout<<"x1 = ";
        cin>>_x;
        t1.x=_x; 
        cout<<"y1 = ";
        cin>>_x;
        t1.y=_x;
        cout<<"Input 2 coordinates points of Pentagona"<<endl;
        cout<<"x2 = ";
        cin>>_x;
        t2.x=_x; 
        cout<<"y2 = ";
        cin>>_x;
        t2.y=_x;
        cout<<"Input 3 coordinates points of Pentagona"<<endl;
        cout<<"x3 = ";
        cin>>_x;
        t3.x=_x; 
        cout<<"y3 = ";
        cin>>_x;
        t3.y=_x;
    }
    void Show()
    {
        cout<<"Triugolnic s koordinatami: "<<"("<<t1.x<<","<<t1.y<<")"<<"("<<t2.x<<","<<t2.y<<")"<<"("<<t3.x<<","<<t3.y<<")"<<endl<<endl;
    
    }
   
    void Rotate(int angle)
    {
        //вращение триугольника
    }
 
};
class Line : public Shape {
public:
    void CreateShape(){}
    void Show(){}
    void Rotate(int angle){};
};
 
class Operation{ //Класс, инкапсулирующий методы обработки объектов разных классов
public:
    void IsIntersect(Shape* s1, Shape* s2) {cout<<"Intersect"<<endl;}
};
 
 
class FactoryShape{// Класс - фабрика производных от Shape объектов
 
  public: Shape* generator(int type)
   { 
       switch(type) 
          {
            case 0:return new Kvadrat;
            case 1:return new Triugolnic;
                                  case 2:return new Line;
            default:return 0;
          }
    }
};
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru