June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
41
Task/Set-consolidation/Ring/set-consolidation.ring
Normal file
41
Task/Set-consolidation/Ring/set-consolidation.ring
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
# Project : Set consolidation
|
||||
# Date : 2018/03/29
|
||||
# Author : Gal Zsolt [~ CalmoSoft ~]
|
||||
# Email : <calmosoft@gmail.com>
|
||||
|
||||
load "stdlib.ring"
|
||||
test = ["AB","AB,CD","AB,CD,DB","HIK,AB,CD,DB,FGH"]
|
||||
for t in test
|
||||
see consolidate(t) + nl
|
||||
next
|
||||
func consolidate(s)
|
||||
sets = split(s,",")
|
||||
n = len(sets)
|
||||
for i = 1 to n
|
||||
p = i
|
||||
ts = ""
|
||||
for j = i to 1 step -1
|
||||
if ts = ""
|
||||
p = j
|
||||
ok
|
||||
ts = ""
|
||||
for k = 1 to len(sets[p])
|
||||
if j > 1
|
||||
if substring(sets[j-1],substr(sets[p],k,1),1) = 0
|
||||
ts = ts + substr(sets[p],k,1)
|
||||
ok
|
||||
ok
|
||||
next
|
||||
if len(ts) < len(sets[p])
|
||||
if j > 1
|
||||
sets[j-1] = sets[j-1] + ts
|
||||
sets[p] = "-"
|
||||
ts = ""
|
||||
ok
|
||||
else
|
||||
p = i
|
||||
ok
|
||||
next
|
||||
next
|
||||
consolidate = s + " = " + substr(list2str(sets),nl,",")
|
||||
return consolidate
|
||||
Loading…
Add table
Add a link
Reference in a new issue