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

определение координат конца радиуса- вектора - C++

Восстановить пароль Регистрация
 
Helene
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 32
06.10.2011, 15:39     определение координат конца радиуса- вектора #1
1. Объявить класс Cpoint, в котором заданы
- две закрытые переменные вещественного типа x и y для представления точки на плоскости,
- функция длины радиуса-вектора точки (x,y),
-функция ввода x и y,
- функция для определения координат конца радиуса-вектора (x,y) при повороте на h градусов(в радианах),
Описать объект, инициализировать его, применить к нему функции и распечатать результаты.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2011, 15:39     определение координат конца радиуса- вектора
Посмотрите здесь:

[C++] Координаты конца вектора в классах C++
Вычислить количество точек с целочисленными координатами, попадающими в круг радиуса R>0 с центром в начале координат C++
C++ Определение конца строки
Определить, сколько точек с целочисленными координатами попадают в круг заданного радиуса с центром в начале координат C++
C++ Создайте класс Polar, который предназначен для хранения полярных координат (радиуса и угла)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
06.10.2011, 17:48     определение координат конца радиуса- вектора #2
Цитата Сообщение от Helene Посмотреть сообщение
Объявить класс Cpoint, в котором заданы
- две закрытые переменные вещественного типа x и y для представления точки на плоскости,
- функция длины радиуса-вектора точки (x,y),
-функция ввода x и y,
- функция для определения координат конца радиуса-вектора (x,y) при повороте на h градусов(в радианах),
Ниже листинг данного класса и основного файла программы
CPoint.h
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
#include <iostream>
#include <cmath>
using namespace std;
 
class Cpoint
{
private:
    int _x;
    int _y;
public:
    //Конструктор преобразования
    Cpoint(int x = 0, int y = 0){_x = x; _y = y;};
    void   Input();//Ввод
    void   Show();    //Вывод на экран координат точки
    double Radius();  //Величина радиус-вектора
    double GetAngle();//Возвращает текущий угол поворота радиус вектора
    void   Rotate(double angle);//Вычисление координат конца радиус вектора
                                //при повороте на angle радиан
};
 
void Cpoint::Input()
{
    std::cout<<"x = ";std::cin>>_x;
    std::cout<<"y = ";std::cin>>_y;
}
 
void Cpoint::Show()
{
    std::cout<<"("<<_x<<";"<<_y<<")\r\n";
}
 
double Cpoint::Radius()
{
    return sqrt(_x*_x + _y*_y);
}
 
double Cpoint::GetAngle()
{
    return atan2(_x,_y);
}
 
void Cpoint::Rotate(double angle)
{
    double CurRadius = Radius();
    angle +=  GetAngle();
    _x = CurRadius*cos(angle);
    _y = CurRadius*sin(angle);
}
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "Cpoint.h"
#include <conio.h>
 
int main()
{
    Cpoint p;
    p.Input();
    std::cout<<"Value of Radius-Vector : "<<p.Radius()<<"\r\n";
    std::cout<<"Enter andle of rotation : ";
    double h;std::cin>>h;
    p.Rotate(h);
    std::cout<<"Coordinates after rotation : ";
    p.Show();
    std::cout<<"Press any key to continue\r\n";
    return 0;
}
Миниатюры
определение координат конца радиуса- вектора  
Helene
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 32
06.10.2011, 18:07  [ТС]     определение координат конца радиуса- вектора #3
спасибо
hijacker7
19 / 19 / 1
Регистрация: 06.10.2011
Сообщений: 53
06.10.2011, 18:14     определение координат конца радиуса- вектора #4
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
#include <math.h>
#include <iostream>
 
using namespace std;
 
class CPoint {
        private:
                double x;
                double y;
 
        public:
                CPoint(double X=0,double Y=0):x(X),y(Y){}
 
                double len() const {
                        return sqrt(x*x + y*y);
                }
 
                void setPoint(double X,double Y) {
                        x=X;
                        y=Y;
                }
 
                CPoint turn(double phi) const {
                        double x1 = x*cos(phi)+y*sin(phi);
                        double y1 = -x*sin(phi)+y*cos(phi);
                        return CPoint(x1,y1);
                }
 
                void print() const {
                        cout<<"x= "<<x<<endl;
                        cout<<"y= "<<y<<endl;
                        cout<<"len= "<<len()<<endl;
                }
 
};
 
int main() {
        const double pi = 3.14;
 
        CPoint point(3, 4);
        point.print();
 
        CPoint turnPoint = point.turn(pi/2);
        turnPoint.print();
 
        return 0;
}
Yandex
Объявления
06.10.2011, 18:14     определение координат конца радиуса- вектора
Ответ Создать тему
Опции темы

Текущее время: 12:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru