Advertisement
Guest User

Untitled

a guest
Feb 26th, 2020
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.62 KB | None | 0 0
  1. #include <math.h>
  2. #include <stdio.h>
  3. #include <locale.h>
  4. #include <stdlib.h>
  5.  
  6. int polarToCartesian(float r, float phi, float *x, float *y); // Объявление функции
  7.  
  8.  
  9. void main()
  10.  
  11. {
  12.  
  13. float x, y,r,phi;
  14. printf("Введите через пробел две полярных координаты \n");
  15. for (int i = 0; i < 3; i++){
  16. scanf("%f%f", &r, &phi);
  17. polarToCartesian(r, phi, &x, &y);
  18. }
  19. getchar(); getchar();
  20. }
  21.  
  22. int polarToCartesian(float r, float phi, float *x, float *y) // Функция, переводящая полярные координаты в декартовы
  23. {
  24. int n = 0; // Переменная, отвечающая за расположение точки
  25.  
  26. *x = r*cos(phi); // Формула перевода относительно OX
  27.  
  28. *y = r*sin(phi); // Формула перевода относительно OY
  29.  
  30. printf("x=%f" , *x); // Вывод на экран значения x
  31.  
  32. printf(" y=%f" , *y); // Вывод на экран значения y
  33.  
  34.  
  35. if (*x == 0 && *y == 0) // Если точка лежит в начале координат
  36. {
  37. n = 0;
  38. }
  39. if (*x != 0 && *y == 0) // Если точка лежит на оси OX
  40. {
  41. n = -1;
  42. }
  43. if (*x == 0 && *y != 0) // Если точка лежит на оси OY
  44. {
  45. n = -2;
  46. }
  47. if (*x > 0 && *y > 0) // Если точка лежит в 1-ой четверти
  48. {
  49. n = 1;
  50. }
  51. if (*x < 0 && *y > 0) // Если точка лежит во 2-ой четверти
  52. {
  53. n = 2;
  54. }
  55. if (*x < 0 && *y < 0) // Если точка лежит в 3-ей четверти
  56. {
  57. n = 3;
  58. }
  59. if (*x > 0 && *y < 0) // Если точка лежит в 4-ой четверти
  60. {
  61. n = 4;
  62. }
  63.  
  64. switch (n) // Оператор выбора для расположения точки в координатной плоскости
  65.  
  66. {
  67.  
  68. case -2: printf(" Точка лежит на оси OY"); break;
  69.  
  70. case -1: printf(" Точка лежит на оси OX"); break;
  71.  
  72. case 0: printf(" Точка является началом координат"); break;
  73.  
  74. case 1: printf(" Точка лежит в 1-ой четверти"); break;
  75.  
  76. case 2: printf(" Точка лежит во 2-ой четверти"); break;
  77.  
  78. case 3: printf(" Точка лежит в 3-ей четверти"); break;
  79.  
  80. case 4: printf(" Точка лежит в 4-ой четверти"); break;
  81.  
  82. }
  83.  
  84. return n;
  85.  
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement