Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ConsoleApplication3.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
- //
- #include <iostream>
- #include <cmath>
- constexpr auto PI = 3.14159265;
- //тут хуярим класс и вставляем туда функции и потом уже из класса все это вызываем
- double first(double a, double fi)
- {
- double k = a / (2 * PI);
- double p = k * fi;
- return p;
- }
- double second(double a, double fi_1, double fi_2)
- {
- double k = a / (2 * PI);
- double s = ((pow(fi_2, 3) - pow(fi_1, 3)) * k) / 6;
- return s;
- }
- double third(int n, double a)
- {
- double S_n = ((pow(n, 3) - pow((n - 1), 3)) / 3) * (PI * pow(a, 2));
- return S_n;
- }
- double fourth(int n, double a)
- {
- double S_1 = (PI * pow(a, 2)) / 3;
- double F_n = 6 * n * S_1;
- return F_n;
- }
- double fifth(double a, double fi)
- {
- double k = a / (2 * PI);
- double L = (k / 2) * (fi * sqrt(pow(fi, 2) + 1) + log(fi + sqrt(pow(fi, 2)-1)));
- return L;
- }
- double sixth(double a, double fi)
- {
- double k = a / (2 * PI);
- double powfi = pow(fi, 2)+1;
- double R = k * (pow(powfi, (3 / 2))) / (powfi + 2);
- return R;
- }
- int main()
- {
- setlocale(LC_ALL, "Russian");
- int input;
- //Запрашиваем шаг
- //Инициализируем класс и хуярим туда одну переменную а, где а у нас шаг.
- std::cout << "1)Для того чтобы вернуть расстояние до центра в полярной системе координат\n\
- в зависимости от угла для точки, принадлежащей спирали введите цифру 1\n\
- --------------------------------------------------------------\n";
- std::cout << "2)Для того чтобы вернуть площадь сектора получаемого между двумя заданными\n\
- полярными радиусами введите цифру 2\n\
- --------------------------------------------------------------\n";
- std::cout << "3)Для того чтобы вернуть площадь фигуры ограниченную n-ым витком спирали введите цифру 3\n\
- --------------------------------------------------------------\n";
- std::cout << "4)Для того чтобы вернуть площадь n-ого кольца спирали введите цифру 4\n\
- --------------------------------------------------------------\n";
- std::cout << "5)Для того чтобы вернуть длину дуги спирали до заданного угла полярного радиуса введите цифру 5\n\
- --------------------------------------------------------------\n";
- std::cout << "6)Для того чтобы вернуть радиус кривизны спирали в зависимости от угла полярного радиуса введите цифру 6\n\
- --------------------------------------------------------------\n";
- //зацикливаем свитчкейс пока пользователь не захочет самостоятельно выйти введя например ноль
- //так же убираем отсюда все а (шаги), т.к они у нас будут заданы в классе, а все это будет вызываться из класса.
- std::cin >> input;
- switch (input) {
- case 1:
- std::cout << "Введите шаг\n";
- double a;
- std::cin >> a;
- std::cout << "Введите угол\n";
- double fi;
- std::cin >> fi;
- std::cout << "Расстояние до центра = " << first(a, fi) << std::endl;
- break;
- case 2:
- std::cout << "Введите шаг\n";
- double a_2;
- std::cin >> a_2;
- std::cout << "Введите первый угол\n";
- double fi_21;
- std::cin >> fi_21;
- std::cout << "Введите второй угол\n";
- double fi_22;
- std::cin >> fi_22;
- std::cout << "Площадь сектора = " << second(a_2, fi_21,fi_22) << std::endl;
- break;
- case 3:
- std::cout << "Введите номер витка спирали\n";
- int n_3;
- std::cin >> n_3;
- std::cout << "Введите шаг\n";
- double a_3;
- std::cin >> a_3;
- std::cout << "Площадь фигуры ограниченная n-ым виктом спирали = " << third(n_3,a_3) << std::endl;
- break;
- case 4:
- std::cout << "Введите номер кольца спирали\n";
- int n_4;
- std::cin >> n_4;
- std::cout << "Введите шаг\n";
- double a_4;
- std::cin >> a_4;
- std::cout << "Площадь n-ого кольца спирали = " << fourth(n_4, a_4) << std::endl;
- break;
- case 5:
- std::cout << "Введите шаг\n";
- double a_5;
- std::cin >> a_5;
- std::cout << "Введите угол\n";
- double fi_5;
- std::cin >> fi_5;
- std::cout << "Длина дуги спирали до заданного угла = " << fifth(a_5, fi_5) << std::endl;
- break;
- case 6:
- std::cout << "Введите шаг\n";
- double a_6;
- std::cin >> a_6;
- std::cout << "Введите угол\n";
- double fi_6;
- std::cin >> fi_6;
- std::cout << "Радиус кривизны в зависимости от угла = " << sixth(a_6, fi_6) << std::endl;
- break;
- default:
- std::cout << "Ошибка, введите значения 1-6\n";
- break;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement