Sie sind auf Seite 1von 18

ANAGRAM

GENERATION

GIRISH MAHADEVAN
24SCS131
CSE A
BACKGROUND
Reputed to have originated as a Victorian
word game, Anagrams has appeared in
many published versions in the last
century. The first modern version seems to
have been the game "Anagrams"
published in 1934, the manufacturer which
would publish Scrabble in 1953. In 1975,
Selchow published the "Scrabble Scoring
Anagrams" version which featured tiles
with point values similar to the familiar
Scrabble system.
INTRODUCTION
Anagrams are often expressed in the
form of an equation, with the equals
symbol (=) separating the original
subject and the resulting anagram.
‘Earth = heart’ is an example of a
simple anagram expressed in that way.
In a more advanced, sophisticated form
of anagramming, the aim is to
‘discover’ a result that has a linguistic
meaning that defines or comments on
the original subject in a humorous or
ironic way; e.g., Roll in the hay = Thrill
a honey (discovered by Tony Crafter),
Mother-in-law = woman Hitler, or Slot
machines = Cash lost in em.
When the subject and the resulting anagram
form a complete sentence, a tilde (~) is
commonly used instead of an equal sign;
e.g., Semolina ~ is no meal. or Somewhere
Over the Rainbow ~ Worrisome However
Beneath. Tilde gives the equivalence
between two values in mathematics.
PROJECT PURPOSE
The ANAGRAM GENERATION program
which is developed in C compiler has to
perform the following processes to arrive
at a solution.

permutation.c
Calculates the number of permutations
which are possible in the input word and
stores them in a file which is kept for
further usage.
dictionary.c
As the name suggests, it’s a module
which works as a dictionary ; by this the
user can search for a word and test for
its availability.

Fuse.c
It’s a module which comprises of both
the above modules and then concludes
with the resultant anagram.
ADVANTAGES OF
ANAGRAMS
1. Grammar based advantages
2. Data transformation techniques
3. Analyzing and debugging grammars
4. Parser generator
5. Usage in games (scrabble)
6. Fuzzy English
DESCRIPTION
 As defined in the previous slides about
anagram generation; now we have a
basic idea about anagram
operations.

 We get an input as a string, which


can be accredited to a accumulation or
a store for alphabets.

3. These are taken as the source for the


module permutation.c and all the
possible words are molded to be the
result of this program.
4. Now the result which we get from the
permutation.c are fed to the other
module dictionary.c and then we do a
keyword search in this module.

5. In dictionary.c we use the concept of file


and keep a txt file which constitutes of all
the possible English words.
6. The file is present in a read mode which
enables the program to read from the file
and give an appropriate result .

7. This result comes out to be an anagram .


PROBLEM IN EXISTING
APPLICATION
We have lots of application in the internet
which are of the same name and
produces the same result.
These programs in the internet are inevitably
correct and very much attractive as
compared to the program which is
developed here.

But the main reason for its existence is its


simplicity and the compactness of the
code, it is made using very simple
concept of programming, regardless of it
fulfilling all the features as done by the
software’s in the internet.
MODULES

• PERMUTATION.C
• DICTIONARY.C
• FUSE.C
WORK COMPLETED
1. PERMUTATION.C
The module has been finished and
checked with some input for producing
permutation of a given string.

4. DICTIONARY.C
The module has a file which consists of
all the possible English words and it does
the keyword search for the input
availability.
MODULE EXPLANATION
PERMUTATION.C

In this module we have made use of the


data structure STACK which gives us the
two main function PUSH and POP, which
can be easily seen in the module, they help
in producing word permutation.

Concept : LIFO
DICTIONARY.C

This has a text file called as DWORD.TXT


which stores all the words in it and is kept
in read mode.
It takes an input and checks it with the
words which are present in DWORD.TXT
and gives its availability.

Concept : linked list, structure (storing


words)
WORK REMAINING
FUSE.C

This is the module which takes the output


of the permutation.c and makes them to
be the input to dictionary.c and then it
checks if any of the word from
permutation.c is present in the dword.txt
and if present : it gives out the anagrams
or else it prints anagram not present.
Anagram servers available on
the Internet
• Janagram (finds anagrams as you type)
• Anagram Logic Anagram Finder (find
anagrams by choosing interesting words)
• Internet Anagram Server (generate a list
of anagrams) - its name being an anagram
of "I, rearrangement servant".
• Anagram Genius (generate a single
anagram, or get a free trial of the Anagram
Genius software)
• Arrak Anagrams (generate a list of
anagrams)
REFERENCES
• www.wikipedia.com (for history, background)
• Orkut communities (links)
• www.codeproject.com (code snippets)
• www.planet-source-code.com
• www.koders.com
• www.dictionary.com
• Google.com (exploring anagrams,
documentation)

Das könnte Ihnen auch gefallen