Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #define _USE_MATH_DEFINES//нужно для числа пи
- #include <math.h>
- using namespace std;
- class Ellipsoid//Эллипсоид
- {
- float x, y, z, r1, r2, r3;//координаты центра и радиусы
- public:
- Ellipsoid()//конструктор по умолчанию
- {
- x = y = z = 0;//центры равны 0
- r1 = r2 = r3 = 1;//радиусы равны 1
- }
- Ellipsoid(float x, float y, float z, float r1, float r2, float r3)//коструктор с параметрами
- {
- this->x = x;//пишем параменты в поля класса
- this->y = y;
- this->z = z;
- this->r1 = r1;
- this->r2 = r2;
- this->r3 = r3;
- }
- float CalcVolume()//расчёт объёма
- {
- if (r1 == r2 == r3)//сфера
- {
- return 4.0 / 3 * M_PI * r1 * r1 * r1;//тут всё по формуле (M_PI - число пи)
- }
- else if (r1 == r2 || r1 == r3 || r2 == r3)//эллипсоид вращения
- {
- return 4.0 / 3 * M_PI * r1 * r2 * r3;
- }
- else//эллипсоид
- {
- return 4.0 / 3 * M_PI * r1 * r2 * r3;
- }
- }
- void ShowInfo()//метод вывода информации на экран
- {
- cout << "Координаты центра: " << x << ", " << y << ", " << z << "\n";
- cout << "Объём: " << CalcVolume() << "\n";
- }
- };
- int main()
- {
- setlocale(0, "Rus");
- for (int i = 0; i < 3; i++)
- {
- cout << "Эллипсоид " << i + 1 << ":\n";
- float x, y, z, r1, r2, r3;//координаты центра и радиусы
- cout << "Введите координаты центра: ";
- cin >> x >> y >> z;
- cout << "Введите радиусы: ";
- cin >> r1 >> r2 >> r3;
- Ellipsoid *ellipsoid = new Ellipsoid(x, y, z, r1, r2, r3);//объявляем переменную класса Ellipsoid
- ellipsoid->ShowInfo();//показываем информацию об эллипсоиде
- if (x > 0 && y > 0 && z > 0)
- cout << "Координаты центра у этого эллипсоида положительны\n";
- delete ellipsoid;//удаляем из памяти
- }
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement