sub sort(tabla()) local items, i, t1, t2, s items = arraysize(tabla(), 1) repeat s = true for i = 1 to items-1 if tabla(i, 1) > tabla(i+1, 1) then t1 = tabla(i, 1) : t2 = tabla(i, 2) tabla(i, 1) = tabla(i + 1, 1) : tabla(i, 2) = tabla(i + 1, 2) tabla(i + 1, 1) = t1 : tabla(i + 1, 2) = t2 s = false end if next until(s) end sub sub normalize(tabla()) local items, i, t items = arraysize(tabla(), 1) for i = 1 to items if tabla(i, 1) > tabla(i, 2) then t = tabla(i, 1) tabla(i, 1) = tabla(i, 2) tabla(i, 2) = t end if next sort(tabla()) end sub sub consolidate(tabla()) local items, i normalize(tabla()) items = arraysize(tabla(), 1) for i = 1 to items - 1 if tabla(i + 1, 1) <= tabla(i, 2) then tabla(i + 1, 1) = tabla(i, 1) if tabla(i + 1, 2) <= tabla(i, 2) then tabla(i + 1, 2) = tabla(i, 2) end if tabla(i, 1) = void : tabla(i, 2) = void end if next end sub // data 1, 1.1, 2.2 // data 2, 6.1, 7.2, 7.2, 8.3 // data 2, 4, 3, 2, 1 // data 4, 4, 3, 2, 1, -1, -2, 3.9, 10 data 5, 1,3, -6,-1, -4,-5, 8,2, -6,-6 void = 10^30 read items dim tabla(items, 2) for i = 1 to items read tabla(i, 1), tabla(i, 2) next consolidate(tabla()) for i = 1 to items if tabla(i, 1) <> void print tabla(i, 1), "..", tabla(i, 2); next