Find words whose first and last three letters are equal: Difference between revisions
Content added Content deleted
Alpha bravo (talk | contribs) (Added AutoHotkey) |
(Added solution for Action!) |
||
Line 10: | Line 10: | ||
{{Template:Strings}} |
{{Template:Strings}} |
||
<br><br> |
<br><br> |
||
=={{header|Action!}}== |
|||
In the following solution the input file [https://gitlab.com/amarok8bit/action-rosetta-code/-/blob/master/source/unixdict.txt unixdict.txt] is loaded from H6 drive. Altirra emulator automatically converts CR/LF character from ASCII into 155 character in ATASCII charset used by Atari 8-bit computer when one from H6-H10 hard drive under DOS 2.5 is used. |
|||
<lang Action!>BYTE FUNC IsValidWord(CHAR ARRAY word) |
|||
BYTE len |
|||
len=word(0) |
|||
IF len<=5 THEN RETURN (0) FI |
|||
IF word(1)#word(len-2) THEN RETURN(0) FI |
|||
IF word(2)#word(len-1) THEN RETURN(0) FI |
|||
IF word(3)#word(len) THEN RETURN(0) FI |
|||
RETURN (1) |
|||
PROC FindWords(CHAR ARRAY fname) |
|||
CHAR ARRAY line(256) |
|||
CHAR ARRAY tmp(256) |
|||
BYTE dev=[1] |
|||
Close(dev) |
|||
Open(dev,fname,4) |
|||
WHILE Eof(dev)=0 |
|||
DO |
|||
InputSD(dev,line) |
|||
IF IsValidWord(line) THEN |
|||
PrintE(line) |
|||
FI |
|||
OD |
|||
Close(dev) |
|||
RETURN |
|||
PROC Main() |
|||
CHAR ARRAY fname="H6:UNIXDICT.TXT" |
|||
FindWords(fname) |
|||
RETURN</lang> |
|||
{{out}} |
|||
[https://gitlab.com/amarok8bit/action-rosetta-code/-/raw/master/images/Find_words_whose_first_and_last_three_letters_are_equal.png Screenshot from Atari 8-bit computer] |
|||
<pre> |
|||
antiperspirant calendrical einstein hotshot murmur oshkosh tartar testes |
|||
</pre> |
|||
=={{header|Ada}}== |
=={{header|Ada}}== |