Update all new Tasks

This commit is contained in:
Ingy döt Net 2015-02-20 09:02:09 -05:00
parent 00a190b0a6
commit 91df62d461
5697 changed files with 93386 additions and 804 deletions

View file

@ -0,0 +1,35 @@
/* REXX ***************************************************************
* 25.05.2014 Walter Pachl
* REXX strings start with position 1
**********************************************************************/
Call enc_dec 'broood'
Call enc_dec 'bananaaa'
Call enc_dec 'hiphophiphop'
Exit
enc_dec: Procedure
Parse Arg in
st='abcdefghijklmnopqrstuvwxyz'
sta=st /* remember this for decoding */
enc=''
Do i=1 To length(in)
c=substr(in,i,1)
p=pos(c,st)
enc=enc (p-1)
st=c||left(st,p-1)substr(st,p+1)
End
Say ' in='in
Say 'sta='sta 'original symbol table'
Say 'enc='enc
Say ' st='st 'symbol table after encoding'
out=''
Do i=1 To words(enc)
k=word(enc,i)+1
out=out||substr(sta,k,1)
sta=substr(sta,k,1)left(sta,k-1)substr(sta,k+1)
End
Say 'out='out
Say ' '
If out==in Then Nop
Else
Say 'all wrong!!'
Return

View file

@ -0,0 +1,21 @@
/*REXX pgm demonstrates move─to─front algorithm encode/decode sym table.*/
parse arg xxx; if xxx='' then xxx='broood bananaaa hiphophiphop'
one=1 /*for task's requirement. */
do j=1 for words(xxx); x=word(xxx,j) /*process one word at a time*/
@='abcdefghijklmnopqrstuvwxyz' /*sym table: lower alphabet.*/
$= /*set decode string to null.*/
do k=1 for length(x); z=substr(x,k,1) /*encrypt a char in word. */
_=pos(z,@); if _==0 then iterate /*char position in sym table*/
$=$ _-one; @=z || delstr(@,_,1) /*adjust the symbol table. */
end /*k*/ /* [↑] move─to─front encode*/
@='abcdefghijklmnopqrstuvwxyz' /*sym table: lower alphabet.*/
!= /*set encode string to null.*/
do m=1 for words($); n=word($,m)+one /*decode the sequence table.*/
y=substr(@,n,1); !=! || y /*decode character of word. */
@=y || delstr(@,n,1) /*rebuild the symbol table. */
end /*m*/ /* [↑] move─to─front decode*/
say 'word: ' left(x,20) "encoding:" left($,35) word('wrong OK',1+(!==x))
end /*j*/ /*done encoding/decoding words. */
/*stick a fork in it, we're done.*/