Форум программистов, компьютерный форум 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) подробнее

Показать сообщение отдельно
Питекантроп
 Аватар для Питекантроп
246 / 140 / 6
Регистрация: 14.06.2010
Сообщений: 340
26.02.2012, 18:15     вращение фигуры
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
#include "math.h"
#include "windows.h"
#include "stdio.h"
 
struct fPoint
{
        float x,y;
        fPoint() {}
        fPoint(float x, float y)
        {
                this->x = x;
                this->y = y;
        }
};
 
static void rotate_points(float angle, fPoint * array, int arr_len)
{
        if (arr_len <= 1) return;
        float cs = cos(angle),
                sn = sin(angle);
        fPoint center(0,0);
        for (int i = 0; i < arr_len; i++)
        {
                center.x += array[i].x;
                center.y += array[i].y;
        }
        center.x /= arr_len;
        center.y /= arr_len;
 
        float dx, dy;
        while (arr_len--)
        {
                dx = array[arr_len].x - center.x;
                dy = array[arr_len].y - center.y;
                array[arr_len].x = dx * cs - sn * dy + center.x;
                array[arr_len].y = dx * sn + cs * dy + center.y;
        }
}
 
static void DrawFigure(HDC hdc, fPoint * array, int len)
{
        MoveToEx(hdc,array->x,array->y,0);
        while (len--) LineTo(hdc,array[len].x,array[len].y);
}
 
class Triangle
{
public:
        fPoint points[3];
        Triangle() {}
        Triangle(const fPoint & p1,const fPoint & p2,const fPoint & p3)
        {
                points[0] = p1;
                points[1] = p2;
                points[2] = p3;
        }
        void rotate(float angle)
        {
                rotate_points(angle,points,3);
        }
        void Draw(HDC hdc)
        {
                DrawFigure(hdc,points,3);
        }
};
 
 
 
 
int main(int argc, char* argv[])
{
        Triangle tr(fPoint(50,50),fPoint(150,50),fPoint(75,120) );
        float angle = 0.1;   // (рад)
        tr.rotate(angle);
        HWND hwnd = GetForegroundWindow();//GetDesktopWindow();
 
        HDC hdc=GetWindowDC(hwnd);
        HPEN hPen = CreatePen(1, 3, RGB(0,0,255));
 
        SelectObject(hdc, hPen);
        tr.Draw(hdc);
        ReleaseDC(hwnd,hdc);
 
        getchar();
        return 0;
}
 
Текущее время: 22:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru