Advertisement
nankovmkd

dop_zad_lab2_4

Nov 19th, 2018
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.58 KB | None | 0 0
  1. /*Од стандарден влез се читаат 3 тројки од броеви, по една за секоја од кружниците $A$, $B$ и $C$ соодветно.
  2.  
  3. Првите 2 броја од секоја тројка претставуваат координати на центарот на кружницата а третиот број е радиусот на кружницата.
  4.  
  5. За секој пар кружници потребно е да се провери дали тие се сечат.
  6.  
  7. Ако сите 3 пара кружници се сечат да се испечати SITE KRUZHNICI SE SECHAT MEGJUSEBNO. Ако ниеден пар кружници не се сечат тогаш да се испечати KRUZHNICITE NE SE SECHAT.
  8.  
  9. Инаку, на пр. ако само кружниците $A$ и $B$ се сечат да се испечати A SE SECHE SO B.
  10.  
  11. Помош: На следната слика е прикажана една можна поставеност на кружниците.
  12. enter image description here
  13. Се согледува дека тоа дали кружниците ќе се сечат зависи од растојанието меѓу нив како и од нивната големина.
  14. Растојание меѓу две точки $(x_{1},y_{1})$ и $(x_{2},y_{2})$ може да пресметаме преку формулата $\sqrt{(x_{2}-x_{1})^2+(y_{2}-y_{1})^2}$.
  15. Функцијата sqrtf() од библиотеката math.h може да ви послужи за пресметување на квадратен корен од float променлива.
  16. */
  17. #include <stdio.h>
  18. #include <math.h>
  19.  
  20. int main() {
  21.     float cx1, cy1, r1, cx2, cy2, r2, cx3, cy3, r3;
  22.     scanf("%f %f %f", &cx1, &cy1, &r1);
  23.     scanf("%f %f %f", &cx2, &cy2, &r2);
  24.     scanf("%f %f %f", &cx3, &cy3, &r3);
  25.     float d12 = sqrtf((cx1 - cx2) * (cx1 - cx2) + (cy1 - cy2) * (cy1 - cy2));
  26.     float d23 = sqrtf((cx2 - cx3) * (cx2 - cx3) + (cy2 - cy3) * (cy2 - cy3));
  27.     float d13 = sqrtf((cx1 - cx3) * (cx1 - cx3) + (cy1 - cy3) * (cy1 - cy3));
  28.     int s12 = d12 <= (r1 + r2);
  29.     int s23 = d23 <= (r2 + r3);
  30.     int s13 = d13 <= (r1 + r3);
  31.     if (s12&&s23 && s13)
  32.         printf("SITE KRUZHNICI SE SECHAT MEGJUSEBNO");
  33.     else {
  34.         if (s12)
  35.             printf("A SE SECHE SO B\n");
  36.         if (s23)
  37.             printf("B SE SECHE SO C\n");
  38.         if (s13)
  39.             printf("A SE SECHE SO C\n");
  40.         if (!s12 && !s23 && !s13)
  41.             printf("KRUZHNICITE NE SE SECHAT");
  42.     }
  43.  
  44. }
  45. return 0 ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement