jueves, 21 de junio de 2012

/* PROGRAMA QUE en una cuadricula traza un circulo de radio r desde un nodo de la misma. e informa cuantos nodos quedan por dentro del circulo
*/

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
#include <math.h>

int main () {
int i,j,nx,ny,nx2,ny2,icon=0;
float px,py,r,rt,x,y,xmin,ymin;
printf(" ingrese el paso en x\n");
scanf("%f",&px);
printf(" ingrese el paso en y\n");
scanf("%f",&py);
printf(" ingrese el radio del circulo\n");
scanf("%f",&r);
nx=r/px+1;
ny=r/py+1;
xmin=-nx*px;
nx2=2*nx+1;
ymin=-ny*py;
ny2=2*ny+1;
for(i=0;i<nx2;i++){
 x=xmin+px*i;
 for(j=0;j<ny2;j++){
  y=ymin+py*j;
  rt=sqrt(x*x+y*y);
  if(rt<=r)icon++;
 }
}
printf("por dentro del circulo hay %d nodos:\n",icon);
return 0;
}

No hay comentarios: