Write a recursive function to generate anagrams, C/C++ Programming

Assignment Help:

An anagram is a type of word play, the result of rearranging the letters of a word or phrase to produce a new word or phrase. For example the anagram of tea is tea, tae, eat, eta, aet, ate.
Anagrams can be used to solve word jumble problems. If a user provides a series of jumbled letters, all anagrams of the letters can be generated and then checked to see if they exist in a dictionary. The anagrams appearing in the dictionary are printed as solutions to the puzzle.

Your task for this assignment is to first write a recursive function to generate anagrams from a series of letters that the user of your program provides via the keyboard. Your program must then look up the anagrams up in a dictionary to see if they exist and print out the list of the dictionary words for each sequence of letters. You should use a hash table with separate chaining as the structure to store the letter sequences and the dictionary words that were found.

You will be asked to hand in your code, your testing files, and your interpretation of your test results.

Getting Started

Search for information on permutations and how to compute permutations.
Set up your assignment folder in the same way as you did for assignment one.
Use the dictionary file that is in the assignment zip file.
Reuse some of your previous data structures modules.
Musts

You must meet the must requirements to get a mark greater than zero. If you do not meet the musts, your assignment will be given a grade of zero.

Your solution must compile, using a makefile, with no errors or warnings and must run without crashing on the SOCS linux computers used for grading.
Your solution must accept a sequence of letters (no shorter than 2, no longer than 10) from the keyboard and print out the number of anagrams for that sequence of letters.
Your solution must successfully load the dictionary file into a hash table and be capable of using the hash table structure to locate a word.
Your submission must have a README.txt file that describes how to run your program as well as any testing programs you write. The readme file must contain a brief description of the hash function you choose to use. The readme file must contain your name and student number.
Shoulds

If you complete all of the Shoulds and all of the Musts, it is possible for your program to receive full marks.

You should use a recursive function to generate the anagrams from the sequence of letters
You should use a hash table with separate chaining as the structure to store the letter sequences and the dictionary words that can be formed from them.
You should print the results of the program, neatly formatted, to the screen and include the total number of anagrams of the letters in the output.
You should be able to correctly find all of the dictionary words for a sequence of letters.
You should have your solution neatly organized into the folder structure discussed in the section on coding conventions for the class. (src/ bin/ include/ docs/)
Won'ts

This assignment is worth 10% of your final grade. It will be marked out of 100 points. No half marks will be given.

Anagram generation
correct generation
recursive function
Dictionary Hash Table
hash table module
hash function
collision resolution
Hash table for words found
hash table module
hash function
collision resolution
User Interface
Input of letter sequences
Output of results
Testing
adequate testing done
program gives correct results
Coding practises
Comments and Source Code (structure, variable and operation naming conventions)
File/folder organization and file naming conventions
Data structures modules reused appropriately


Related Discussions:- Write a recursive function to generate anagrams

Padovan stringf, A Padovan string P(n) for a natural number n is defined as...

A Padovan string P(n) for a natural number n is defined as: P(0) = ‘X’ P(1) = ‘Y’ P(2) = ‘Z’ P(n) = P(n-2) + P(n-3), n>2 where + denotes string concatenation.

Fibonacci series, draw the flow chart to print the fibonacci series upto n ...

draw the flow chart to print the fibonacci series upto n th terms

What is difference between require_once () and require(), What is differenc...

What is difference between require_once (), require(), include()? require() includes and evaluates a specific file, if file isn't found then it shows a Fatal Error. require_

Create a program for decision structure , Create the following program or p...

Create the following program or propose one of your own. The program must include at least one of each of the following. Decision structure Repetitive structure fu

Want a scraping program created, Want a scraping program created Project...

Want a scraping program created Project Description: We need to hire a professional developer to scrape the site for information such as *product title *Product Price

Linking source code in vc++ 6.0, i have a project in BDD(Binary Decision Di...

i have a project in BDD(Binary Decision Diagram).. where i have to use BDD library...i m using cudd package which uses BDD technique...i download cudd package..try to run in vc++ 6

What is the issue which auto_ptr objects address?, A: If you employ auto_pt...

A: If you employ auto_ptr objects you would not need to be concerned along with heap objects not being deleted even if the exception is thrown.

Help finish programming assignment, how much is it to fix a small data stru...

how much is it to fix a small data struct in a sorted list that pass itemtypes. all the code is written just logical errors

C program to print fibonacci series upto n using recursion, C program to Pr...

C program to Print Fibonacci series upto n using recursion: int fibo(long int); void main() {                 long int a=0,n;                 printf ("how many term

Write in a file - c program, Write in a file: void main() { int ...

Write in a file: void main() { int i,j,k,l,list[1000]; FILE *fp; char any[8];   cout cin >> any;   fp = fopen(any,"wb");     for(j=0;j     {

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd