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

Полярные координаты - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти количество фигур в матрице http://www.cyberforum.ru/cpp-beginners/thread725424.html
Нужно найти количество фигур в матрице 6х8 фигуры. Фигуры состоят из 1, остальные ячейки 0. Вот пример как выглядит матрица сдесь 5 фигуры. 110011 ...
C++ Сумма максимальных массивов Помогите написать программу, которая бы находила сумму двух максимальных массивов и объясните каждую строчку, был бы очень благодарен. Спасибо. http://www.cyberforum.ru/cpp-beginners/thread725418.html
C++ Ошибка: Левый операнд должен быть левосторонним значением
Здравствуйте, не могу понять, в чем суть ошибки. Ругается на это и подобные выражения best.fio.f=mas.fio.f; Слышал, можно избежать ошибки, используя strcpy... #include<iostream>...
как в файл с динамическим массивом вставить 2 старших байта первого элемента в конец файла,а 2 младших байта в середину файла C++
нужно в файл с динамическим массивом вставить 2 старших байта первого элемента в конец файла,а 2 младших байта в середину файла, но почему то все 4 байта он записывает в конец файла, не могу понять в...
C++ Сформировать файл, в котором хранится информация о... http://www.cyberforum.ru/cpp-beginners/thread725414.html
Люди помогите как написать эту программу в c++?: Сформировать файл, в котором хранится информация о заболеваниях сотрудников: ФИО., Год рождения, заболевания, продолжительность болезни. На его...
C++ определить количество слов в которых одинакова первая и последняя буквы мне нкжно определить количество слов в которых одинакова первая и последняя буквы я попыталась но ничего не получается((( #include <iostream> #include <conio.h> #include <string.h> using... подробнее

Показать сообщение отдельно
Sublimee
7 / 7 / 0
Регистрация: 14.11.2012
Сообщений: 73
15.12.2012, 22:35  [ТС]
Задание было понято мной неправильно. Задаются полярные координаты, а по ним находятся декартовые. В связи с чем программа была немного переписана.


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
// Файл Polarization.h
// Предотвращение многократного включения данного файла
#ifndef _Polarization_h
#define _Polarization_h
 
 
    #include <iostream>  // Для ввода-вывода
    #include <stdlib.h>  // Для exit( )
    #include <math.h>
    using namespace std ;
 
    class PolarCoordinates
    {
        double r ;          // радиус
        double phi ;        // угол
        double x;           // x
        double y;           // y
        void set_x () { x = r * cos(phi) ; }
        void set_y () { y = r * sin(phi) ; }
 
    public:
 
        // Конструктор по умолчанию
        PolarCoordinates () ;
        // Конструктор из r
        PolarCoordinates ( double radius ) ;
        // Конструктор из r и phi
        PolarCoordinates ( double radius , double ygol ) ;
 
        int get_x ();
        int get_r ();
        int get_phi ();
        int get_y ();
        
        // Ввод и вывод
        friend istream& operator >> ( istream& in , PolarCoordinates& r ) ;
        friend ostream& operator << ( ostream& out , const PolarCoordinates& r ) ;
 
    };
 
#endif
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
 // Файл main.cpp
#include "Polarization.h"
 
int main ( void )
{
    // точка создаётся при помощи 1 конструктора
    PolarCoordinates point1 ;
    // полярные значения координат
    cout << "Polar point1: " << endl << endl ;
    cout << "r=" << point1.get_r () << " phi=" << point1.get_phi () << endl << endl ;
    // декартовые значения координат
    cout << "Decart point1: " << endl << endl ;
    cout << "x=" << point1.get_x () << " y=" << point1.get_y () << endl << endl ;
 
    // точка создаётся при помощи 2 конструктора
    PolarCoordinates point2 (1) ;
    // полярные значения координат
    cout << "Polar point2: " << endl << endl ;
    cout << "r=" << point2.get_r () << " phi=" << point2.get_phi () << endl << endl ;
    // декартовые значения координат
    cout << "Decart point2: " << endl << endl ;
    cout << "x=" << point2.get_x () << " y=" << point2.get_y() << endl << endl ;
 
    // точка создаётся при помощи 3 конструктора
    PolarCoordinates point3 (4,5) ;
    // полярные значения координат
    cout << "Polar point3: " << endl << endl ;
    cout << "r=" << point3.get_r () << " phi=" << point3.get_phi () << endl << endl ;
    // декартовые значения координат
    cout << "Decart point3: " << endl << endl ;
    cout << "x=" << point3.get_x () << " y=" << point3.get_y() << endl << endl ;
 
    // точку создаёт пользователь
    cout << "Set r & phi in polar: " ;
    PolarCoordinates mypoint ;
    cin >> mypoint ;
    // полярные значения координат
    cout << "Polar mypoint: " << endl << endl ;
    cout << "r=" << mypoint.get_r () << " phi=" << mypoint.get_phi () << endl << endl ;
    // декартовые значения координат
    cout << "Decart mypoint: " << endl << endl ;
    cout << "x=" << mypoint.get_x () << " y=" << mypoint.get_y() << endl << endl ;
    
   return 0 ;
}
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
 //Файл Polarization.cpp
#include "Polarization.h"
 
PolarCoordinates::PolarCoordinates ()
{
    r = 0 ;
    phi = 0 ;
    set_x ();
    set_y ();
}
 
PolarCoordinates::PolarCoordinates ( double radius )
{
    r = radius ;
    phi = 0 ;
    set_x () ;
    set_y () ;
}
 
PolarCoordinates::PolarCoordinates ( double radius , double ygol )
{
    r = radius ;
    phi = ygol ;
    set_x () ;
    set_y () ;
}
 
int PolarCoordinates::get_x () 
{
    return x ;
}
int PolarCoordinates::get_y ()
{
    return y ;
}
int PolarCoordinates::get_r ()
{
    return r ;
}
int PolarCoordinates::get_phi () 
{
    return phi ;
}
 
istream& operator >> ( istream& cin, PolarCoordinates& r )
{
   cin >> r.r >> r.phi ;
   r=r.r;
 
   return cin ;
}
 
ostream& operator << ( ostream& out, const PolarCoordinates& r )
{
    
        out << r.x << " " << r.y ;
        return out ;
    
}
Перегруженная оперция >> принимает значения r и phi, но как их перевести к x и y?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru