gamesmathematical programsotherabout author



Words is helper program for searching interesting words from one or two dictionaries using different search options. English dictionary contains about 134,000 words, Russian about 190,000 words. In addition one can view dictionary statistics, frequency of word length (descend), two nearby characters distribution, letters frequency. It's possible to run online version of program, where part of searching options are realized.

Search anagrams

Anagram is a word, the result of rearranging the letters of it, produce a another word. For example, calligraphy - graphically. The longest anagrams are:

pathophysiological physiopathological 18 characters
crystallographica crystalographical 17 characters
microphotographic photomicrographic 17 characters
autoradiographic radioautographic 16 characters
micromillimeters micromillimetres 16 characters

Search pangrams

Pangrams are words which has as many as possible different alphabet characters. For example word superacknowledgement has 16 different characters.

Search using pattern

Search using pattern. Words include all of the letters or part of the letters or consist of only letters from pattern. Search options
1 words contain all of the pattern letters - words have all of the letters from pattern and any number of additional letters.
2 words contain part of the pattern letters - words contain part of the letters from pattern and no one another characters.
3 words consist of only pattern letters - any letter from word should be one of the pattern letter.

Search palindromes

Search palindromes. Palindrome is a word, that reads the same backwards as forwards. For example rotator.

reviver 7 characters
rotator 7 characters
hallah 6 characters
hannah 6 characters
mallam 6 characters

Search words for crossword

Search words for crossword. For template m***m program finds the words madam, modem etc.

Search regular expressions

Search regular expressions with given number of matches. Regular expression is a sequence of symbols and characters expressing a string or pattern to be searched for within a longer piece of text. For example for regular expression we$ program finds the words which ends with we. Regular expressions are very powerful tool for searching. For more information you can make internet search with request string regular expressions of perl.

Search concatenations/substrings

Search concatenations/substrings. Let's take two strings so and n (empty strings are allowed). The first one we attach to the begin of word, the second to the end. Word uther is valid because dictionary has word southern = so+uther+n.

There is additional option. One can set how many characters we preliminary remove from begin and end of words. For example, 3 characters from beginning and 4 characters from end. Let's take word evolutionary. At first remove first 3 letters and last 4 letters we got lutio. Add strings to the begin and end solution = so+lutio+n. This word is in dictionary. Note. Program search words with length more than sum of number of removed characters.

Search characters sequence

Search characters sequence. For sequence mata program finds next words matador, razzmatazz and so on.

Search sequence words

Sequence words are pair of words, if last several letters of the first word equal to first several letters of the second word. For example, last eight letters of word exanimated, agree with first eight letters of word animatedly.

Search double sequence words

Double sequence words. Search two sets of words such that some number of last characters for any word of first set are first characters of any word from second set and vice versa. For example last four characters of word rainforest are first four characters of word restrain and at the same time last four characters of restrain are first characters of word rainforest.

Search full word sequences

Full sequence words are pair of words. If read the first word backward one got the second word and vice versa. For example, kramer - remark. Palindromes are ignored.

desserts stressed
lattimer remittal
deliver reviled
dessert tressed
animal lamina

Search keyboard words (one row)

All characters of the word should be on one horizontal or vertical keyboard row.

peppertree 10 characters
pepperwort 10 characters
perpetuity 10 characters
proprietor 10 characters
repertoire 10 characters

Search keyboard words (row and diagonals)

All neighbour characters of the word should be adjacent keys (horizontally, vertically or diagonally) on keyboard.

redressed 9 characters
redresser 9 characters
redresses 9 characters
assessed 8 characters
assesses 8 characters

Search consonants or vowels sequences

Search sequences of given number of consonant or vowel characters. The words which have six consonants in a row are knightsbridge, festschrift, goldschmidt, latchstring, sightscreen, weltschmerz, watchstrap. The words which have five vowels in a row are liaoyang, queueing, iyeyasu, taiyuan.

Search words with low density of consonants or vowels

Search words with low density of consonants or vowels.

Vowel characters.

strengths vowels 11% 9 characters
mcknight vowels 12% 8 characters
schmaltz vowels 12% 8 characters
schnapps vowels 12% 8 characters
schwartz vowels 12% 8 characters

Consonant characters.

iyeyasu consonants 14% 7 characters
euboea consonants 16% 6 characters
eyetieconsonants 16% 6 characters
ieyasu consonants 16% 6 characters
ukiyoe consonants 16% 6 characters

Searching words from two dictionaries

Matched words (simple)

Search words which write in english the same as in russian. For example, Beep (english word) - веер (russian word).

сотрете compete 7 characters
сотрите compute 7 characters
гаснет rachet 6 characters
довьет gobbet 6 characters
кагате karate 6 characters

Matched words (transliteration)

Search words which write in english the same as in transliterate russian. For example, administrator (english word) - администратор (russian word).

dneprodzerzhinsk днепродзержинск 15 characters
instrumentalist инструменталист 15 characters
antidepressant антидепрессант 14 characters
antimilitarist антимилитарист 14 characters
dnepropetrovsk днепропетровск 14 characters
ministerialist министериалист 14 characters

Search keyboard words

Search pairs of words which after keyboard typing with invalid keyboard locale give valid word on another language. For example, entity (english word) - утешен (russian word).

entity утешен 6 characters
erect укусе 5 characters
ghent пруте 5 characters
inert штуке 5 characters
abut фиге 4 characters


Dictionary statistics

Dictionary statistics includes

Frequency of word length (descend)

Program shows frequency of words with given length

word lengthfrequency
word lengthfrequency
9 12.985%
10 12.940%
8 12.309%
11 11.114%
7 9.852%
12 8.865%

It seems that word length is normal distribution random variable. On the pictures below one can see word length frequency data and normal distribution approximation.

English dictionary. Expected value - 8.9546. Dispersion - 8.2675.
Russian dictionary. Expected value - 9.6727. Dispersion - 9.2424.

Two nearby characters distribution

Program shows two nearby characters distribution in the words of dictionary, sorted in descending order.

Letters frequency

If one sorts letter by frequency in descending order and create graph then it seems that logarithm of frequency will be a linear function.

Java words applet parameters

Example of html code to call javawords applet.

<applet code="words.JMainApplet.class" width="750" height="415"
<param name="dictionary" value="ru"/>
<param name="interface" value="ru"/>
Java words applet

Applet has two parameters

dictionary - en|ru. Default value is 'en'. This parameter sets working dictionary.
interface - en|ru. Default value is 'en'. This parameter sets language interface.

Versions history

14 november 2017 added online version of program using cgi/c++ and php with ajax, only part of searching options are realized

version 4.1 22 december 2016

search & sort results using thread to prevent hangs for long operations
fix bug with regular expressions and some other searches
source code is adopted for new gcc 5.4.0 & gtk 3.20.6 versions
accelerate regular expressions search
add search of concatenations/substrings
fix bug when user press accelerator key and text entry is active
correct two words in russian dictionary

version 4.0 1 october 2015

code has been rewritten from java to gtk/c++
sort and find text options is added
search of pangrams is added
search of double sequence words is added

version 3.9 1 september 2014

fixed bugs

version 3.8 ** march 2014

russian dictionary is extended
add dictionary unit function

version 3.7 ** march 2013

code has been rewritten from c++ to java
status bar added and time of last operation
regular expressions search added
two nearby characters distribution added
adding support of multilanguage interface
search of variants of words removed

version 3.6 ** july 2012

version 3.5 ** july 2012

version 3.4 ** july 2008

version 3.3 ** february 2007

version 3.2 ** june 2007

version 3.1 ** june 2007

version 3.0 ** may 2007

version 2.0 ** march 2002

version 1.0 ** july 2000