Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Од стандарден влез се читаат 3 тројки од броеви, по една за секоја од кружниците $A$, $B$ и $C$ соодветно.
- Првите 2 броја од секоја тројка претставуваат координати на центарот на кружницата а третиот број е радиусот на кружницата.
- За секој пар кружници потребно е да се провери дали тие се сечат.
- Ако сите 3 пара кружници се сечат да се испечати SITE KRUZHNICI SE SECHAT MEGJUSEBNO. Ако ниеден пар кружници не се сечат тогаш да се испечати KRUZHNICITE NE SE SECHAT.
- Инаку, на пр. ако само кружниците $A$ и $B$ се сечат да се испечати A SE SECHE SO B.
- Помош: На следната слика е прикажана една можна поставеност на кружниците.
- enter image description here
- Се согледува дека тоа дали кружниците ќе се сечат зависи од растојанието меѓу нив како и од нивната големина.
- Растојание меѓу две точки $(x_{1},y_{1})$ и $(x_{2},y_{2})$ може да пресметаме преку формулата $\sqrt{(x_{2}-x_{1})^2+(y_{2}-y_{1})^2}$.
- Функцијата sqrtf() од библиотеката math.h може да ви послужи за пресметување на квадратен корен од float променлива.
- */
- #include <stdio.h>
- #include <math.h>
- int main() {
- float cx1, cy1, r1, cx2, cy2, r2, cx3, cy3, r3;
- scanf("%f %f %f", &cx1, &cy1, &r1);
- scanf("%f %f %f", &cx2, &cy2, &r2);
- scanf("%f %f %f", &cx3, &cy3, &r3);
- float d12 = sqrtf((cx1 - cx2) * (cx1 - cx2) + (cy1 - cy2) * (cy1 - cy2));
- float d23 = sqrtf((cx2 - cx3) * (cx2 - cx3) + (cy2 - cy3) * (cy2 - cy3));
- float d13 = sqrtf((cx1 - cx3) * (cx1 - cx3) + (cy1 - cy3) * (cy1 - cy3));
- int s12 = d12 <= (r1 + r2);
- int s23 = d23 <= (r2 + r3);
- int s13 = d13 <= (r1 + r3);
- if (s12&&s23 && s13)
- printf("SITE KRUZHNICI SE SECHAT MEGJUSEBNO");
- else {
- if (s12)
- printf("A SE SECHE SO B\n");
- if (s23)
- printf("B SE SECHE SO C\n");
- if (s13)
- printf("A SE SECHE SO C\n");
- if (!s12 && !s23 && !s13)
- printf("KRUZHNICITE NE SE SECHAT");
- }
- }
- return 0 ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement