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

Движение точки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать рекурсивную функцию вычисления сочетания n то k http://www.cyberforum.ru/cpp-beginners/thread131481.html
Вот проблемка Написать рекурсивную функцию вычисления сочетания n то k.
C++ Сумма чисел Дано натуральное число N. Вставить между некоторыми цифрами 1,2,3,4,5,6,7,8,9, записанными именно в таком порядке, знаки "+" и "-" так, чтобы значением получившегося выражения было число N. Например, если N=122, то подойдёт следущая расстановка знаков: 12+34-5-6+78+9. Помогите пожайлуста с кодом. http://www.cyberforum.ru/cpp-beginners/thread131465.html
Ссылки и адреса C++
Вот, где лучше всего использовать адреса и ссылки? Просто не много не понятня для чего это все. Вот например эту запись int mas; int* pmas=&mas Чесно говоря, даже не понятно всего удобства. Зачем делать переменную *pmas если при обращении к ней или присваивании ей значения автоматически оно присваивается и mas... Буду благодарен за помощь.
Перевод кода из Паскаля в С++ C++
Я в С++ не бум бум, написал прогу на паскале а нуно на Си++ помогите перевести Задача : Назовем допустимым преобразованием матрицы перестановку двух строк или двух столбцов. Дана действительная квадратная матрица порядка n. С помощью допустимых преобразований добиться того, чтобы один из элементов матрицы обладающий наибольшим по модулю значением, располагался в левом верхнем углу матрицы....
C++ Последовательность фибоначи http://www.cyberforum.ru/cpp-beginners/thread131436.html
Дан фаил f компоненты u0,u1,....un которого являются последовательными числами Фибоначчи, получить в фаиле f последовательные числа Фибоначчи u0,u1,....u n+1(тобиж u эное +1) сама последовательность Фибоначчи - u0=0; u1=1; ui=u i-1 + ui-2 (i=2,3...) помогите с этой последовательностью я ни как не могу сделать эту прогу а через 2 дня ее сдавать! Пожалуйста люди помогите! заранее вам...
C++ Округление числа Люди добрые подскажите как числа в си округлить?Подчеркиваю - НЕ целую часть. Добавлено через 9 минут Разобрался!! подробнее

Показать сообщение отдельно
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
01.04.2013, 17:00     Движение точки
как вариант:
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
#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>
#include <cmath>
 
struct Way
{
    float x; // x coordinate.
    float y; // y coordinate.
    int t; // delay.
};
 
class PointWay
{
public:
    PointWay();
    PointWay(float, float, int);
    ~PointWay() {}
    void add_point(float, float, int);
    void show_way();
 
private:
    std::vector<Way> points;
    float ix, iy;
 
    void set_sleep(int);
    float formula_length(std::vector<Way>::const_iterator);
    float get_xfactor(std::vector<Way>::const_iterator);
    float get_yfactor(std::vector<Way>::const_iterator);
    void show_point(std::vector<Way>::const_iterator);
};
 
PointWay::PointWay()
{
    std::clog << "You need initialize point.\n";
    exit(0);
}
 
PointWay::PointWay(float x, float y, int time)
{
    Way pt = { x, y, time };
    ix = x, iy = y;
    points.push_back(pt);
}
 
void PointWay::set_sleep(int t)
{
    clock_t start_count = clock();
    while (clock()/CLOCKS_PER_SEC - start_count/CLOCKS_PER_SEC < t)
        ;
}
 
float PointWay::formula_length(std::vector<Way>::const_iterator i)
{
    return sqrt( (ix - i->x) * (ix - i->x) +
                 (iy - i->y) * (iy - i->y) );
}
 
float PointWay::get_xfactor(std::vector<Way>::const_iterator i)
{
    if (i->x > ix)
    {
        return (i->x - ix) / formula_length(i);
    }
    else
    {
        return -((ix - i->x) / formula_length(i));
    }
}
 
float PointWay::get_yfactor(std::vector<Way>::const_iterator i)
{
    if (i->y > iy)
    {
        return (i->y - iy) / formula_length(i);
    }
    else
    {
        return -((iy - i->y) / formula_length(i));
    }
}
 
void PointWay::add_point(float x, float y, int time)
{
    Way addin = { x, y, time };
    points.push_back(addin);
}
 
void PointWay::show_point(std::vector<Way>::const_iterator it)
{
    float fact_x = get_xfactor(it);
    float fact_y = get_yfactor(it);
    for (int i = formula_length(it); i > 0; --i)
    {
        std::cout.precision(3);
        std::cout << "x: " << (ix += fact_x) << "\t y: " << (iy += fact_y) << '\n';
        set_sleep(it->t);
    }
}
 
void PointWay::show_way()
{
    std::vector<Way>::iterator the_point = points.begin();
    ++the_point; // set to the next position, couse first positioni is
    // initialize by constructor;
 
    // front move.
    for ( ; the_point != points.end(); ++the_point)
    {
        show_point(the_point);
        std::cout << '\n';
    }
 
    // move back.
    for ( --the_point; points.size() > 0; --the_point)
    {
        show_point(the_point);
        std::cout << '\n';
        points.erase(the_point);
        the_point = points.end();
    }
}
 
int main()
{
    PointWay obj(1, 1, 1);
    obj.add_point(-3, 5, 1);
    obj.show_way();
}
 
Текущее время: 18:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru