Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <math.h>
- /**
- Dato je m krugova (pomocu centra i poluprecnika) i n tacaka u ravni.
- Odrediti sve tacke koje se nalaze u preseku nekih (dve ili vise) krugova
- m,n < 100
- */
- typedef struct Tacka {
- double x,y;
- } Tacka;
- typedef struct Krug{
- Tacka o;
- double r;
- } Krug;
- double rastojanje(Tacka *t1, Tacka *t2)
- {
- return sqrt(pow(t1->x - t2->x, 2) + pow(t1->y - t2->y,2));
- }
- int main()
- {
- int m,n,i,j,broj=0;
- Krug krugovi[100];
- Tacka tacke[100];
- printf("Unesite broj krugova i broj tacaka: ");
- scanf("%d%d",&m,&n);
- printf("Unesite krugove (centar x, centar y, poluprecnik): ");
- for (i = 0;i < n; i++){
- scanf("%lf%lf%lf", &krugovi[i].o.x,&krugovi[i].o.y,&krugovi[i].r);
- }
- printf("Unesite tacke: (x,y) ");
- for (i = 0; i < n; i++)
- {
- scanf("%lf%lf",&tacke[i].x,&tacke[i].y);
- }
- for (i = 0; i < n; i++){
- for (j = 0; j < m; j++){
- if(rastojanje(&tacke[i],&krugovi[j].o) <= krugovi[j].r){
- broj++;
- }
- }
- if (broj >= 2){
- printf("(%g,%g)",tacke[i].x,tacke[i].y);
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement