cześć.mam kod do programu który generuje n współrzędnych punktów losowych na płaszczyźnie w zadanym przedziale,oraz punkty znajdują się wewnątrz prostokątu i okręgu.problem polega na tym,że nie rozumiem części kodu,więc może ktoś mi wytłumaczył prostymi słowami częśćkodu od l=0 i do końca.(nie rozumiem właśnie czemu to ma być tak).dziękuję
#include <stdio.h>
#include <math.h>
#include <time.h>
#include <stdlib.h>
double los(double xmin,double xmax)
{double x;
int k;
k=rand();
x=xmin+(double) k*(xmax-xmin)/((double)RAND_MAX);
return x;
}
void main()
{
double x[50],y[50],x1,x2,y1,y2,x0,y0,r,d,a,b;
int i,n,l,wartosc;
srand((unsigned)time(NULL));
scanf("%d",&n);
x1=2.;x2=4.;y1=3.;y2=8.;
x0=(x1+x2)/2.;
y0=(y1+y2)/2.;
r=(x2-x1)/2.;
if((y2-y1)/2<r) r=(y2-y1)/2.;
l=0;
for(i=0;i<n*10;i++)
{
a=los(x1,x2);
b=los(y1,y2);
d=sqrt((x0-a)*(x0-a)+(y0-b)*(y0-b));
if(d<=r)
{
x[l]=a;
y[l]=b;
l=l+1;
}
if(l==n) break;
}
for(i=0;i<n;i++) printf("%lf %lf\n",x[i],y[i]);