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; }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
100%

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 <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;
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 5 steps with 2 images

Blurred answer
Knowledge Booster
Random access
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education