Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
37
Task/Closest-pair-problem/XPL0/closest-pair-problem.xpl0
Normal file
37
Task/Closest-pair-problem/XPL0/closest-pair-problem.xpl0
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
include c:\cxpl\codes; \intrinsic 'code' declarations
|
||||
|
||||
proc ClosestPair(P, N); \Show closest pair of points in array P
|
||||
real P; int N;
|
||||
real Dist2, MinDist2;
|
||||
int I, J, SI, SJ;
|
||||
[MinDist2:= 1e300;
|
||||
for I:= 0 to N-2 do
|
||||
[for J:= I+1 to N-1 do
|
||||
[Dist2:= sq(P(I,0)-P(J,0)) + sq(P(I,1)-P(J,1));
|
||||
if Dist2 < MinDist2 then \squared distances are sufficient for compares
|
||||
[MinDist2:= Dist2;
|
||||
SI:= I; SJ:= J;
|
||||
];
|
||||
];
|
||||
];
|
||||
IntOut(0, SI); Text(0, " -- "); IntOut(0, SJ); CrLf(0);
|
||||
RlOut(0, P(SI,0)); Text(0, ","); RlOut(0, P(SI,1));
|
||||
Text(0, " -- ");
|
||||
RlOut(0, P(SJ,0)); Text(0, ","); RlOut(0, P(SJ,1));
|
||||
CrLf(0);
|
||||
];
|
||||
|
||||
real Data;
|
||||
[Format(1, 6);
|
||||
Data:= [[0.654682, 0.925557], \0 test data from BASIC examples
|
||||
[0.409382, 0.619391], \1
|
||||
[0.891663, 0.888594], \2
|
||||
[0.716629, 0.996200], \3
|
||||
[0.477721, 0.946355], \4
|
||||
[0.925092, 0.818220], \5
|
||||
[0.624291, 0.142924], \6
|
||||
[0.211332, 0.221507], \7
|
||||
[0.293786, 0.691701], \8
|
||||
[0.839186, 0.728260]]; \9
|
||||
ClosestPair(Data, 10);
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue