Anagrams: Difference between revisions

Content added Content deleted
imported>Chinhouse
Line 866: Line 866:
alger|glare|lager|large|regal
alger|glare|lager|large|regal
caret|carte|cater|crate|trace
caret|carte|cater|crate|trace
</pre>

=={{header|Amazing Hopper}}==
<syntaxhighlight lang="c">
#include <basico.h>

#define MAX_LINE 30

algoritmo
fd=0, filas=0
word={}, 2da columna={}
old_word="",new_word=""
dimensionar (1,2) matriz de cadenas 'result'
pos=0
token.separador'""'

abrir para leer("basica/unixdict.txt",fd)

iterar mientras ' no es fin de archivo (fd) '
usando 'MAX_LINE', leer línea desde(fd),
---copiar en 'old_word'---, separar para 'word '
word, ---retener--- ordenar esto,
encadenar en 'new_word'

arr.buscar en tabla (1,new_word,result)
copiar en 'pos'
si ' es negativo? '
new_word,old_word, pegar fila en 'result'
sino
#( result[pos,2] = cat(result[pos,2],cat(",",old_word) ) )
fin si

reiterar

cerrar archivo(fd)
guardar 'filas de (result)' en 'filas'
#( 2da columna = result[1:filas, 2] )
fijar separador '","'
tomar '2da columna'
token.contar(2da columna) ---retener,
obtener máximo valor,es mayor o igual?, replicar esto
compactar esto

fijar separador 'NL', luego imprime todo
terminar
</syntaxhighlight>
{{out}}
<pre>
abel,able,bale,bela,elba
alger,glare,lager,large,regal
angel,angle,galen,glean,lange
caret,carte,cater,crate,trace
elan,lane,lean,lena,neal
evil,levi,live,veil,vile
</pre>
</pre>