Programming Assignment Instructions: In this assignment you will create your code fromscratch. You a

Programming Assignment Instructions: In this assignment you will create your code fromscratch. You are to create a C file named__hw4.c NOTE – You may use C++ – but you MAY NOT use #include The goal is to use C-Style character array basedstrings.
You will put all of your code in this file.
You may use any technique we have learned so far. Specifications: The goal of this assignment is to create a dynamicversion of Assignment 3. This assignment is split into several parts. The goal isto get you used to working with C/C++ compile-time arrays andstrings. Part 0 – Create a Menu You should create a menu that gives access to each of the partsof the assignment. Show this menu and make it function properly. If the user inputssomething incorrect, correct them and loop the menu and prompt. Welcome to Assignment 3! Menu: 1 – Single Dimension Array Processing 2 – Two-D Processing Choose an option: Part 1 – Single Dimension Array Write a void function to drive Part 1. A – Filling the array) Ask the user for a size and dynamically allocate the array basedon that size. This is going to be a fixed size array. Initialize the array to contain all ‘ ’ characters. Write a function to fill the array with random lower-caseletters. 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 C – Processing) Menu Option 1 – Get a character from the user. Either safety-check it, or forceit to be lower- case. Create a function that returns an integer. This function shouldtake the array, the letter and the size. Prototype: int getFrequencyOf(char letters*, int size, charitem); You will loop through the array and count each matching instanceof the character the user inputted. Return the final count. Output the result and ask if they want to do anotherprocess. Menu Option 2 – Get a character from the user. Either safety-check it, or forceit to be lower- case. Create a function that will remove ALL instances of thespecified character from your array. Prototype: void removeCharacter(char letters*, int size, charitem); This should not leave gaps in your array. Make sure you ‘shuffledown’ the contents of the array to fill in the gaps. Make sure youproperly place the ‘ ’ 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. Extra Credit opportunity create an O(n log n) algorithm+3 points. Prototype: void sortArray(char letters*, int size); NOTE – Think about when this might be called. Has the userremoved any letters? Part 2 – 2D Processing Part 2 will have you doing the single dimensional operations toa 2D array of strings. Write a void function to drive Part 2. Part 2 starts by asking the user how many strings they want tocreate and the max length of the strings. Each of these string will be put in a row of their own in a 2Dcharacter array. Remember to end each row with a ‘ ’. After you have received the inputs – output the strings toconfirm 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 Apply the operation the user selects to ALL of the strings inthe 2D array. Each time an operation finishes output the resultsfor each row. NOTE – if you coded part 1 correctly, this section can and willmake use of the exact same functions you coded earlier! Sample Output: Welcome to Assignment 3!Menu:1 – Single Dimension Array Processing2 – Two-D ProcessingChoose an option: User choose 1: Choose an option: 1How many characters? 60Filling the array!phqghumeaylnlfdxfircvscxggbwkfnqduxwfnfozvsrtkjprepggxrpnrvystmwcWhat would you like to do? Check frequency of a letter Remove a letter 3. Sort >>? User chooses 1:>>? 1What letter? gThere are 5 of the letter g(take the user back to the menu)User chooses 2:>>? 2What letter? gphqhumeaylnlfdxfircvscxbwkfnqduxwfnfozvsrtkjprepxrpnrvystmwcg has been removed(take the user back to the menu)User chooses 3:>>? 3Sorting!abcccddeefffffhhijkkllmmnnnnoppppqqrrrrrsssttuuvvvwwwxxxxyyz(take the user back to the menu) From Main Menu User chooses 2: Choose an option: 2
How many strings do you want to enter? 11 What is the max size of the strings? 10 Enter string 1: testingEnter string 2: appleEnter string 3: documentEnter string 4: computerEnter string 5: scienceEnter string 6: bananaEnter string 7: orangeEnter string 8: sugarEnter string 9: classesEnter string 10: fancyEnter string 11: flakesWhat would you like to do? Check frequency of a letter Remove a letter >>? User chooses 1:>>? 1What letter? atesting – 0apple – 1document – 0computer – 0science – 0banana – 3orange – 1sugar – 1classes – 1fancy – 1flakes – 1User chooses 2:>>? 2What letter? atestingppledocumentcomputersciencebnnorngesugrclssesfncyflkes Attached