Определить, есть ли у кругов общие точки - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Пожалуйста исправьте меня, если что то не так. Задание : Точки с координатами (x1, y1) и (x2, y2) являются центрами кругов радиусов r1 и r2 соответственно. Определить, есть ли у этих кругов общие точки.

Листинг программы
  1. #include <conio.h>
  2. #include <stdio.h>
  3. #include <math.h>
  4. int main ()
  5. {
  6. double s;
  7. double r2,r1,x1,x2,y1,y2;
  8. printf ("r1=");
  9. scanf ("%f",&r1);
  10. printf ("r2=");
  11. scanf ("%f",&r2);
  12. printf ("x1=");
  13. scanf ("%f",&x1);
  14. printf ("x2=");
  15. scanf ("%f",&x2);
  16. printf ("y1=");
  17. scanf ("%f",&y1);
  18. printf ("y2=");
  19. scanf ("%f",&y2);
  20. s=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
  21. printf("s=%f\n",&s);
  22. if(s>(r1+r2))
  23. printf("net to4ek\n");
  24. else
  25. {
  26. if(s==(r1+r2))
  27. printf("est' obshie tochki\n");}
  28. getch ();
  29. return 0;
  30. }

Решение задачи: «Определить, есть ли у кругов общие точки»

textual
Листинг программы
  1. #include <conio.h>
  2. #include <stdio.h>
  3. #include <math.h>
  4. int main ()
  5. {
  6.     float s;
  7.     float  r2,r1,x1,x2,y1,y2;
  8.     printf ("r1=");
  9.     scanf ("%f",&r1);
  10.     printf ("r2=");
  11.     scanf ("%f",&r2);
  12.     printf ("x1=");
  13.     scanf ("%f",&x1);
  14.     printf ("x2=");
  15.     scanf ("%f",&x2);
  16.     printf ("y1=");
  17.     scanf ("%f",&y1);
  18.     printf ("y2=");
  19.     scanf ("%f",&y2);
  20.     s=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
  21.  
  22.  
  23.     printf("\ns=%f  ",s);
  24.     if(s>(r1+r2) || s<fabs(r1-r2))
  25.     printf("net to4ek\n");
  26.     else
  27.      printf("est' obshie tochki\n");
  28.   getch ();
  29. return 0;
  30.  
  31. }

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с математическими и графическими функциями
  2. Объявление переменных: r1, r2, x1, x2, y1, y2 (переменные для хранения радиусов и координат точек)
  3. Ввод значений радиусов и координат точек с помощью функции scanf
  4. Вычисление расстояния между точками по формуле расстояния между двумя точками на плоскости
  5. Вывод значения расстояния на экран с помощью функции printf
  6. Проверка условия: если расстояние больше суммы радиусов или меньше разности радиусов, выводится сообщение net to4ek
  7. В противном случае, выводится сообщение est' obshie tochki
  8. Вызов функции getch для приостановки выполнения программы до нажатия клавиши
  9. Конец программы возвратом значения 0

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы