Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <math.h>
- #include <stdio.h>
- #include <locale.h>
- #include <stdlib.h>
- int polarToCartesian(float r, float phi, float *x, float *y); // Объявление функции
- void main()
- {
- float x, y,r,phi;
- printf("Введите через пробел две полярных координаты \n");
- for (int i = 0; i < 3; i++){
- scanf("%f%f", &r, &phi);
- polarToCartesian(r, phi, &x, &y);
- }
- getchar(); getchar();
- }
- int polarToCartesian(float r, float phi, float *x, float *y) // Функция, переводящая полярные координаты в декартовы
- {
- int n = 0; // Переменная, отвечающая за расположение точки
- *x = r*cos(phi); // Формула перевода относительно OX
- *y = r*sin(phi); // Формула перевода относительно OY
- printf("x=%f" , *x); // Вывод на экран значения x
- printf(" y=%f" , *y); // Вывод на экран значения y
- if (*x == 0 && *y == 0) // Если точка лежит в начале координат
- {
- n = 0;
- }
- if (*x != 0 && *y == 0) // Если точка лежит на оси OX
- {
- n = -1;
- }
- if (*x == 0 && *y != 0) // Если точка лежит на оси OY
- {
- n = -2;
- }
- if (*x > 0 && *y > 0) // Если точка лежит в 1-ой четверти
- {
- n = 1;
- }
- if (*x < 0 && *y > 0) // Если точка лежит во 2-ой четверти
- {
- n = 2;
- }
- if (*x < 0 && *y < 0) // Если точка лежит в 3-ей четверти
- {
- n = 3;
- }
- if (*x > 0 && *y < 0) // Если точка лежит в 4-ой четверти
- {
- n = 4;
- }
- switch (n) // Оператор выбора для расположения точки в координатной плоскости
- {
- case -2: printf(" Точка лежит на оси OY"); break;
- case -1: printf(" Точка лежит на оси OX"); break;
- case 0: printf(" Точка является началом координат"); break;
- case 1: printf(" Точка лежит в 1-ой четверти"); break;
- case 2: printf(" Точка лежит во 2-ой четверти"); break;
- case 3: printf(" Точка лежит в 3-ей четверти"); break;
- case 4: printf(" Точка лежит в 4-ой четверти"); break;
- }
- return n;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement