Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 23.05.2016
Сообщений: 6
1

Создать 2 структуры: DEC и POL - C++

23.05.2016, 17:29. Показов 1443. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Cоздать 2 структуры: DEC, состоящую из названия точки и её декартовых координат и POL, состоящую из названия точки и её полярных координат.
Считать из файла 10 точек в декартовых координатах. Перевести все точки в полярные координаты. Упорядочить их по Фи по убыванию. Найти название точки по введенному Фи.

Заранее благодарен всем тем, кто поможет!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.05.2016, 17:29
Ответы с готовыми решениями:

Из bin в dec и из oct в dec
нужно создать что-то типо программного конвертера, есть edit, там вводится число, например...

Универсальное ЗУ li-pol/ni-mh на МК.
Доброго времени суток. Есть радиоуправляемая машинка. В ней есть Ni-Mh аккум 7.2 В. 3000 мА. С его...

Универсальный Li-pol аккумулятор Drobak
В Украинском интернет-магазине розетка нашел внешний аккумулятор для ноутбуков и мобильных...

Li-pol акум разряжается до 2.35. нужно ли паниковать?
Здравствуйте; разряжаю заряженый акум LP383454 и измеряю напряжение. акум перестаёт отдавать ток...

4
13 / 13 / 9
Регистрация: 16.05.2016
Сообщений: 49
23.05.2016, 20:34 2
Ну вот что-то такое.
C++
1
2
3
4
5
6
7
8
9
10
11
//points.txt
alpha 10 20
beta 20 30
gamma 30 40
delta 40 50
epsilon 5 10
zeta 15 2
eta 100 200
theta 150 100
iota 90 100
kappa 40 40
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
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <cmath>
#include <algorithm>
 
#define BUFF_SIZE 100
 
using namespace std;
 
struct DEC {
    string name;
    double x;
    double y;
    DEC(string name, double x, double y) : name{ name }, x{ x }, y{ y } {}
};
 
struct POL {
    string name;
    double r;
    double phi;
    POL(string name, double r, double phi) : name{ name }, r{ r }, phi{ phi } {}
};
 
 
bool contains_name_dec(string name, vector<DEC> decs) {
    for (DEC d : decs)
        if (name == d.name)
            return true;
    return false;
}
 
POL dec_to_pol(DEC d) {
    double r = sqrt(d.x * d.x + d.y * d.y);
    double phi = atan2(d.y, d.x);
    return POL(d.name, r, phi);
}
 
bool my_comp_function(POL p1, POL p2) {
    return p1.phi > p2.phi;
}
 
bool double_equals(double a, double b, double epsilon = 0.001)
{
    return std::abs(a - b) < epsilon;
}
 
string name_by_phi(double phi, vector<POL> pols) {
    for (POL p : pols) {
        if (double_equals(phi, p.phi))
            return p.name;
    }
    return "phi not found";
}
 
int main()
{
    char data[BUFF_SIZE];
    ifstream fin;
    vector<DEC> decs;
    vector<POL> pols;
    string tname;
    double tx, ty;
 
    fin.open("points.txt");
    if (fin.fail())
        cout << "error!\n";
 
    while (fin) {
        fin >> tname;
        fin >> tx;
        fin >> ty;
        DEC d = DEC(tname, tx, ty);
        if (!contains_name_dec(tname, decs)) {
            cout << "pushing " << tname << endl;
            decs.push_back(d);
        }
    }
 
    cout << "all decs:\n";
    for (DEC el : decs)
        cout << el.name << "(" << el.x << ", " << el.y << ")" << endl;
 
    for (DEC el : decs) {
        POL p = dec_to_pol(el);
        pols.push_back(p);
    }
 
    cout << "all pols:\n";
    for (POL el : pols)
        cout << el.name << "(" << el.r << ", " << el.phi << ")" << endl;
 
    std::sort(pols.begin(), pols.end(), my_comp_function);
 
    cout << "sorted pols:\n";
    for (POL el : pols)
        cout << el.name << "(" << el.r << ", " << el.phi << ")" << endl;
 
    cout << name_by_phi(1.10715, pols) << endl;
    cout << name_by_phi(0.982794, pols) << endl;
    cout << name_by_phi(0.927295, pols) << endl;
    cout << name_by_phi(0.896055, pols) << endl;
    cout << name_by_phi(0.837981, pols) << endl;
    cout << name_by_phi(0.785398, pols) << endl;
    cout << name_by_phi(0.588003, pols) << endl;
    cout << name_by_phi(0.132552, pols) << endl;
    
    system("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 23.05.2016
Сообщений: 6
24.05.2016, 11:49  [ТС] 3
Не работает
0
13 / 13 / 9
Регистрация: 16.05.2016
Сообщений: 49
25.05.2016, 12:06 4
ketsvil555, а у меня работает. А что у вас не работает конкретно?
0
0 / 0 / 0
Регистрация: 23.05.2016
Сообщений: 6
25.05.2016, 18:23  [ТС] 5
Все теперь работает спасибо!
0
25.05.2016, 18:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2016, 18:23
Помогаю со студенческими работами здесь

Вопрос по зарядке сборки LI-Pol аккумуляторов.
Для получения нужного напряжения требуется три банки аккумуляторов, а как их правильно заряжать? У...

Ограничитель напряжения для зарядки Li-Ion и Li-Pol
Нужно развести печатную плату. Подскажите примеры этой схемы в Протеусе, чтобы потом трассировку...

Контроллер заряда-разряда li-pol аккумулятора на 3 банки
Как я понимаю, li-pol аккумуляторы очень чувствительны к перезаряду и переразряду. Хочется запитать...

Dec to Bin
Здравствуйте. Скажите, какие у меня есть ошибки в коде. static int DecToBin(int Dec) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru