27 lines
800 B
Awk
27 lines
800 B
Awk
# syntax: GAWK -f CLOSEST-PAIR_PROBLEM.AWK
|
|
BEGIN {
|
|
x[++n] = 0.654682 ; y[n] = 0.925557
|
|
x[++n] = 0.409382 ; y[n] = 0.619391
|
|
x[++n] = 0.891663 ; y[n] = 0.888594
|
|
x[++n] = 0.716629 ; y[n] = 0.996200
|
|
x[++n] = 0.477721 ; y[n] = 0.946355
|
|
x[++n] = 0.925092 ; y[n] = 0.818220
|
|
x[++n] = 0.624291 ; y[n] = 0.142924
|
|
x[++n] = 0.211332 ; y[n] = 0.221507
|
|
x[++n] = 0.293786 ; y[n] = 0.691701
|
|
x[++n] = 0.839186 ; y[n] = 0.728260
|
|
min = 1E20
|
|
for (i=1; i<=n-1; i++) {
|
|
for (j=i+1; j<=n; j++) {
|
|
dsq = (x[i]-x[j])^2 + (y[i]-y[j])^2
|
|
if (dsq < min) {
|
|
min = dsq
|
|
mini = i
|
|
minj = j
|
|
}
|
|
}
|
|
}
|
|
printf("distance between (%.6f,%.6f) and (%.6f,%.6f) is %g\n",x[mini],y[mini],x[minj],y[minj],sqrt(min))
|
|
exit(0)
|
|
}
|