All pastes #470926 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-05-04 16:33 UTC
rendered paste body
load "Listsort";
load "String";
fun atfed (n, mit: string, mivel: string) =
	if size mit < n then false else
	if size mivel < n then false else
	if (String.isPrefix (substring(mit,size mit-n, n)) mivel) then true
	else false;

fun ellenoriz (_,_,[]) = []
| ellenoriz (n, elem, lista::listatail) =
	if atfed(n, elem, lista) then (n,lista)::ellenoriz(n, elem, listatail) 
	else ellenoriz(n,elem,listatail);

fun levalogat (_,[],_) = []
| levalogat (n,lista::listatail,[]) = 
	if (size ellenoriz(n,lista,listatail) <> 0 ) then (lista, ellenoriz(n,lista,listatail))::levalogat(n,listatail,[lista])
| levalogat (n,lista::listatail,marad) = 
	if (size ellenoriz(n,lista,marad)) <> 0 andalso (size ellenoriz(n,lista,listatail) <> 0) then (lista, (ellenoriz(n,lista,marad)))::((lista, ellenoriz(n,lista,listatail)))::(levalogat(n,listatail,[lista]@marad));

fun atfedok n lista = levalogat(n, Listsort.sort String.compare lista,[]);