Anonymous user
Find words whose first and last three letters are equal: Difference between revisions
Find words whose first and last three letters are equal (view source)
Revision as of 21:57, 23 November 2021
, 2 years agoAdded solution for Action!
Alpha bravo (talk | contribs) (Added AutoHotkey) |
(Added solution for Action!) |
||
Line 10:
{{Template:Strings}}
<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}}==
|