For this assignment, download the . This zip file contains several files: Your task is to provide the implementations for all of the referenced functions. You will need to create two files: and to make the program work as intended. You will want to make your program as general as possible by not having any assumptions about the data hardcoded in. Two public input files have been supplied with the starter pack. We will run your program against a third private input file. The requirements of each function are given below. The input, output, and task of each function is described. The functions are: : None : A string : Prompt the user to enter a filename. : (1) The input file stream (2) The string filename to open : True if the file successfully opened, False if the file could not be opened : Open the input file stream for the corresponding filename. Check that the file opened correctly. The string filename will remain unchanged. : The input file stream : A vector of strings : Read all of the words that are in the filestream and return a list of all the words in the order present in the file. : (1) A vector of strings (2) A string of all the punctuation characters to remove : None : For each word in the vector, remove all occurrences of all the punctuation characters denoted by the punctuation string. When complete, the input vector will now hold all the words with punctuation removed. The punctuation string will remain unchanged. : A vector of strings : None : For each word in the vector, convert each character to its upper case equivalent. When complete, the input vector will now hold all the words capitalized. : A vector of strings : A vector of strings : The function will return only the unique words present in the input vector. The output vector will not contain any duplicate words. : A vector of strings : None : Sort the strings in the input vector alphabetically. When complete, the input vector have the same length and contents but reordered so that the contents are in alphabetical order. : (1) A vector of strings representing all of the words in the file (2) A vector of strings representing only the unique words in the file : A vector of unsigned integers : For every unique word in the list, count the number of occurrences the unique word is present in the full text. Return a vector of all the counts. Each position in the vector of counts corresponds to the same position in the unique word list. The vector of counts will have the same size as the vector of unique words. Upon completion, neither input vector
will be modified. : (1) A vector of strings (2) A vector of unsigned integers : None : For each word and count in the vectors, print out the word and its corresponding count. Upon completion, the two vectors will remain unchanged. Format the output as follows: Notice how there are three columns separated by . We want the aligned in every row and the values aligned in each column. The columns correspond to the following values: An example with actual values is shown below: Refer to the expected output files for longer examples on the expected formatting. : (1) An array of 26 unsigned integers (2) A vector of strings : None : Count the number of occurrences of each letter present in all words. Each position of the array corresponds to each letter as ordered by the English alphabet. Upon completion, the array will hold the counts of each letter and the vector of strings will remain unchanged. : An array of 26 unsigned integers : None : For each letter, print out the letter and its corresponding count. Format the output as follows: Notice how there are two columns separated by :. We want the : aligned in every row and the values aligned in each column. The columns correspond to the following values: An example with actual values is shown below: Refer to the expected output files for longer examples on the expected formatting. : (1) A vector of strings (2) A vector of unsigned integers : None : Print out the two words that occur least often and most often. If there is more than one word that occurs the same number of times, print the one that comes first alphabetically. Upon completion, both input vectors will remain unchanged. Print out the following pieces of information: Format the output as follows: Notice how there are three columns of values. The columns correspond to the following values: An example with actual values is shown below: Refer to the expected output files for longer examples on the expected formatting. : An array of 26 unsigned integers : None : Print out the two letters that occur least often and most often. If there is more than one letter that occurs the same number of times, print the one that comes first alphabetically. Upon completion, the input array will remain unchanged. Print out the following pieces of information: Format the output as follows: Notice how there are three columns of values. The columns correspond to the following values: An example with actual values is shown below: Refer to the expected output files for longer examples on the expected formatting. Purchase the answer to view it