Implement in C Programming 9.9.1: LAB: Thesaurus Given a set of text files containing synonyms for different words, complete the main program to output the synonyms for a specific word. Each text file contains synonyms for the word specified in the file’s name, and the synonyms within the file are grouped according to the synonyms' first letters, separated by an '*'. The program reads a word and a letter from the user and opens the text file associated with the input word. The program then stores the contents of the text file into a two-dimensional array of char* predefined in the program. Finally the program searches the array and outputs all the synonyms that begin with the input letter, one synonym per line, or a message if no synonyms that begin with the input letter are found. Hints: Use the malloc() function to allocate memory for each of the synonyms stored in the array. A string always ends with a null character ('\0'). Use ASCII values to map the row index of the array to the first letter of a word when storing the synonyms into the array. Ex: Index 0 to an 'a', index 25 to a 'z'. Assume all letters are in lowercase. Ex: If the input of the program is: educate c the program opens the file educate.txt, which contains: brainwash brief * civilize coach cultivate * develop discipline drill * edify enlighten exercise explain * foster * improve indoctrinate inform instruct * mature * nurture * rear * school * train tutor * then the program outputs: civilize coach cultivate Ex: If the input of the program is: educate a then the program outputs: No synonyms for educate begin with a. #include #include #include int main(void) { int NUM_CHARACTERS = 26; // Maximum number of letters int MAX_SYNONYMS = 10; // Maximum number of synonyms per starting letter int MAX_WORD_SIZE = 30; // Maximum length of the input word int n; char* synonyms[NUM_CHARACTERS][MAX_SYNONYMS]; // Declare 2D array of string pointers for all synonyms // Initialize the first column of the 2D array for (n = 0; n < NUM_CHARACTERS; n++) { synonyms[n][0] = NULL; } /* Type your code here. */ return 0; }
Implement in C
9.9.1: LAB: Thesaurus
Given a set of text files containing synonyms for different words, complete the main program to output the synonyms for a specific word. Each text file contains synonyms for the word specified in the file’s name, and the synonyms within the file are grouped according to the synonyms' first letters, separated by an '*'. The program reads a word and a letter from the user and opens the text file associated with the input word. The program then stores the contents of the text file into a two-dimensional array of char* predefined in the program. Finally the program searches the array and outputs all the synonyms that begin with the input letter, one synonym per line, or a message if no synonyms that begin with the input letter are found.
Hints: Use the malloc() function to allocate memory for each of the synonyms stored in the array. A string always ends with a null character ('\0'). Use ASCII values to map the row index of the array to the first letter of a word when storing the synonyms into the array. Ex: Index 0 to an 'a', index 25 to a 'z'. Assume all letters are in lowercase.
Ex: If the input of the program is:
educate c
the program opens the file educate.txt, which contains:
brainwash brief * civilize coach cultivate * develop discipline drill * edify enlighten exercise explain * foster * improve indoctrinate inform instruct * mature * nurture * rear * school * train tutor *
then the program outputs:
civilize coach cultivate
Ex: If the input of the program is:
educate a
then the program outputs:
No synonyms for educate begin with a.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void) {
int NUM_CHARACTERS = 26; // Maximum number of letters
int MAX_SYNONYMS = 10; // Maximum number of synonyms per starting letter
int MAX_WORD_SIZE = 30; // Maximum length of the input word
int n;
char* synonyms[NUM_CHARACTERS][MAX_SYNONYMS]; // Declare 2D array of string pointers for all synonyms
// Initialize the first column of the 2D array
for (n = 0; n < NUM_CHARACTERS; n++) {
synonyms[n][0] = NULL;
}
/* Type your code here. */
return 0;
}
Trending now
This is a popular solution!
Step by step
Solved in 5 steps with 2 images