Question: Part 0 Create a Menu You should create a menu that gives access to each of the parts of the assignment. Show this menu and

Part 0 Create a Menu

You should create a menu that gives access to each of the parts of the assignment.

Show this menu and make it function properly. If the user inputs something incorrect, correct them and loop the menu and prompt.

Welcome to Assignment 3! Menu:

1 1D Math

2 Single Dimension Character Processing

3 Two-D Character Processing

4 - Exit

Choose an option:

Part 1 1D Math

Write a function to drive part 1. Write several other functions to complete each task.

A Fill the Array)

Ask the user for a size and dynamically allocate an integer array based on that size. Ask the user for a minimum integer and a maximum integer. Fill the array with random integers between the minimum value and maximum value entered.Sort it! (see extra credit opportunity below) Display the contents of the array.

Calculate and output:

The average of the array

The median of the array

The number of unique (non-repeated) numbers in the array

The number of numbers that were duplicated

o Note: how many are duplicated, not how many duplicates are there

Part 2 Single Dimension Character Array

Write a void function to drive Part 2.

A Filling the array)

Ask the user for a size and dynamically allocate the array based on that size.Initialize the array to contain all \0 characters.

Write a function to fill the array with random lower-case letters. Prototype example: void fillArray(char* letters, int size);

B Menu)

Give the user a menu of options to process the array:

1. Check frequency of a letter

2. Remove a letter

3. Sort

4. Return to main menu

C Processing)

Menu Option 1

Get a character from the user. Either safety-check it, or force it to be lower- case. Create a function that returns an integer. This function should take the array, the letter and the size. Prototype: int getFrequencyOf(char letters*, int size, char item); You will loop through the array and count each matching instance of the character the user inputted. Return the final count.Output the result and ask if they want to do another process.

Menu Option 2

Get a character from the user. Either safety-check it, or force it to be lower- case.

Create a function that will remove ALL instances of the specified character from your array.

Prototype: void removeCharacter(char letters*, int size, char item);

This should not leave gaps in your array. Make sure you shuffle down the contents of the array to fill in the gaps. Make sure you properly place the \0

After processing the array, output the array with a printf(%s) statement to prove you processed it correctly.

Ask if they want to do another process.

Menu Option 3

Write a function to sort the array alphabetically. Prototype: void sortArray(char letters*, int size);

NOTE Think about when this might be called. Has the user removed any letters?

Extra Credit opportunity +3 points

There are two sorts that needs to happen, integer sorting and character sorting.

Code Quick Sort, Shell Sort or Merge Sort to do your sorting. You can easily copy/paste your sort function and change the data types so you can sort either.

Part 3 2D Processing

Part 2 will have you doing the single dimensional operations to a 2D array of strings.

Write a void function to drive Part 2.

Part 2 starts by asking the user how many strings they want to create and the max length of the strings.

Each of these string will be put in a row of their own in a 2D character array

Remember to end each row with a \0.

After you have received the inputs output the strings to confirm they were inputted correctly.

Give the user a menu of options to process the array:

1. Check frequency of a letter

2. Remove a letter

3. Return to Main Menu

Apply the operation the user selects to ALL of the strings in the 2D array. Each time an operation finishes output the results for each row.

Sample Output:

Welcome to Assignment 3! Menu:

1 1D Math

2 Single Dimension String Processing

3 Two-D String Processing

4 - Exit

Choose an option: User choose 1: Choose an option: 1

enter size: 21

min: 1 max: 50

[2 - 3 - 7 - 7 - 8 - 11 - 13 - 13 - 14 - 14 - 15 - 20 - 21 - 22 - 26 - 36 - 41 - 42 - 44 - 45 - 47] Average: 21.4762

Median: 15

Uniques: 18

Non-Uniques: 3

User chooses option 2:

Choose an option: 2

How many characters? 60

Filling the array!

phqghumeaylnlfdxfircvscxggbwkfnqduxwfnfozvsrtkjprepggxrpnrvystmwc

What would you like to do?

1. Check frequency of a letter

2. Remove a letter

3. Sort

4. Return to Main Menu

>>?

User chooses 1:

>>? 1

What letter? g

There are 5 of the letter g

(take the user back to the menu)

User chooses 2:

>>? 2

What letter? g phqhumeaylnlfdxfircvscxbwkfnqduxwfnfozvsrtkjprepxrpnrvystmwc g has been removed

(take the user back to the menu)

User chooses 3:

>>? 3

Sorting! abcccddeefffffhhijkkllmmnnnnoppppqqrrrrrsssttuuvvvwwwxxxxyyz (take the user back to the menu)

From Main Menu User chooses 3:

Choose an option: 3

How many strings do you want to enter? 11

What is the max size of the strings? 10

Enter string 1: testing Enter string 2: apple Enter string 3: document Enter string 4: computer Enter string 5: science Enter string 6: banana Enter string 7: orange Enter string 8: sugar Enter string 9: classes Enter string 10: fancy Enter string 11: flakes

What would you like to do?

1. Check frequency of a letter

2. Remove a letter

3. Return to Main Menu

>>?

User chooses 1:

>>? 1

What letter? a testing - 0 apple - 1 document - 0 computer - 0 science - 0 banana - 3 orange - 1 sugar - 1 classes - 1 fancy 1 flakes - 1

User chooses 2:

>>? 2

What letter? a

testing pple document computer science bnn

ornge sugr clsses fncy flkes

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!