diff options
Diffstat (limited to 'ipl/progs/kross.icn')
-rw-r--r-- | ipl/progs/kross.icn | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/ipl/progs/kross.icn b/ipl/progs/kross.icn new file mode 100644 index 0000000..1e2bc1a --- /dev/null +++ b/ipl/progs/kross.icn @@ -0,0 +1,42 @@ +############################################################################ +# +# File: kross.icn +# +# Subject: Program to show intersections of strings +# +# Author: Ralph E. Griswold +# +# Date: May 9, 1989 +# +############################################################################ +# +# This file is in the public domain. +# +############################################################################ +# +# This program procedure accepts pairs of strings on successive lines. +# It diagrams all the intersections of the two strings in a common +# character. +# +############################################################################ + +procedure main() + local line, j + while line := read() do { + kross(line,read()) + } +end + +procedure kross(s1,s2) + local j, k + every j := upto(s2,s1) do + every k := upto(s1[j],s2) do + xprint(s1,s2,j,k) +end + +procedure xprint(s1,s2,j,k) + write() + every write(right(s2[1 to k-1],j)) + write(s1) + every write(right(s2[k+1 to *s2],j)) +end |