Добавил:
vvrstcnho
Рад, если кому-то помог
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы С++ (для ИВТ) / Готовые лабы С++ / Лаба1 / Laba 1 (1)
.cpp#include <iostream>
#include <cmath>
#include <windows.h>
using namespace std;
const double PI = 3.14159265358979323846;
class PolarVector {
private:
double r, theta, phi; // радиус, углы theta и phi
public:
void input() {
cout << "Введите радиус r: ";
cin >> r;
cout << "Введите угол theta (в градусах): ";
cin >> theta;
cout << "Введите угол phi (в градусах): ";
cin >> phi;
}
void output() {
cout << "Вектор в полярных координатах: ("
<< r << ", " << theta << "°, " << phi << "°)" << endl;
}
void toCartesian(double &x, double &y, double &z) {
double theta_rad = theta * PI / 180.0;
double phi_rad = phi * PI / 180.0;
x = r * sin(theta_rad) * cos(phi_rad);
y = r * sin(theta_rad) * sin(phi_rad);
z = r * cos(theta_rad);
}
};
int main() {
SetConsoleOutputCP(65001);
PolarVector v;
cout << "=== Ввод вектора в полярных координатах ===" << endl;
v.input();
v.output();
double x, y, z;
v.toCartesian(x, y, z);
cout << "Вектор в декартовых координатах: ("
<< x << ", " << y << ", " << z << ")" << endl;
return 0;
}
Соседние файлы в папке Лаба1
