Urgenthomework logo
UrgentHomeWork
Live chat

Loading..

C++ Programming with Data Structures

Explain a Programming by C++ with Data Structures?

Answer:

The Command Line

#include

#include

#include

#include

#include

#define MAX_WORD 32

#define MAX_TEXT_LENGTH 10000

typedef struct word {

char *str;

int freq;

struct word *pNext;

} Word;

//the code is provides with the counter to calculate frequency and line numbers//

int getNextWord(FILE *fp, char *buf, int bufsize); 

void addWord(char *pWord);

void show(Word *pWordcounter);

Word* createWordCounter(char *word);

Word *pStart = NULL;

int totalcount = 0;


int uniquecount = 0;

//loading of words from the file in a binary search tree

struct Node{

string data;

Node* left;

Node* right;

};

Node* GetNewNode(string data){

Node* newNode = new Node();

newNode->data=data;

newNode->left = newNode->right = NULL;

}

Node* Insert(Node* rootPtr,string data){

if(rootPtr == NULL){

rootPtr = GetNewNode(data);

return rootPtr;

}

else if(data<= rootPtr->data){

rootPtr->left = Insert(rootPtr->left,data);

}

else {

rootPtr->right = Insert(rootPtr->right,data);

}

return rootPtr;

}

int main() {

string word;

ifstream inFile;

Node* rootPtr = NULL; // Pointer to the root node

inFile.open("wordtracker.txt");

if (!inFile) {

cout << "Unable to open text file";

}

while (inFile >> word) {

rootPtr = Insert(rootPtr,word.substr(0,10));

if (word == "#")

break;

}

 //an exception arises when a word is not find in the file//

try

{

FILE * fp;

 fp = fopen(“wordtracker.txt","r"); // opening the file

if(!file.good())

throw 56;

else {

while (getline(file,s)) {

if (false) {

return true;

}

}

// to find the searched word in the text file//

cout << "Enter the word you want to search for: ";

cin >> SearchWord;

cout << "nn";

cout << "Enter the name of file you want to open: ";

cin >> FileName;

ifstream FileSearch(FileName);

// to search and print the the line number of the word found in file

while(!FileSearch.eof())

{

co++;

string temp;

FileSearch >> temp;

if(temp == SearchWord)

{

cout << SearchWord << " found on line: " << co << "nn";

else

cout<<”Word not found”;

break;

}

}

//comparing all the words in the file to sort it alphabetically


for (list *i = first; i != NULL; i = i->next) {
cout << i->s << " ";
}

cout << endl;

bool ok = false;

while (!ok)

{
ok = true;
prev->next = first;

for (list *i = first; i != last; i = i->next)

{
if (i->s.compare(i->next->s) > 0)

{
prev->next = i->next;
i->next = i->next->next;
prev->next->next = i;

ok = false;
}

prev = prev->next;
}

}

cout << "Sorted List: n";

for (list *i = first; i != NULL; i = i->next) {
cout << i->s << " ";
}

cout << endl;

}

}

// to calculate the frequency of each word found in the file

char buf[MAX_WORD];

int size = MAX_TEXT_LENGTH;

 Word *pCounter = NULL;

while (getNextWord(fp, buf, size)) {

addWord(buf);

 totalcount++;

return false;

}

}

pCounter = pStart;

while(pCounter != NULL)

{

uniquecount++;

pCounter = pCounter->pNext;

}

printf("nSUMMARY:nn");

printf(" %d wordsn", totalcount); /* Print total words */

printf(" %d unique wordsn", uniquecount); /* Print unique words */

pCounter = pStart;

while(pCounter != NULL)

{

show(pCounter);

pCounter = pCounter->pNext;

}

printf("n");

pCounter = pStart;

while(pCounter != NULL)

{

free(pCounter->str);

pStart = pCounter;

pCounter = pCounter->pNext; 

free(pStart);

}

fclose(fp);

catch(int e)

{

cout<<"Error number "<

}

}

return 0;

}

void show(Word *pWordcounter)

{

printf("n%-30s %5d", pWordcounter->str,pWordcounter->freq);

}

void addWord(char *word)

{

Word *pCounter = NULL;

Word *pLast = NULL;

if(pStart == NULL)

{

pStart = createWordCounter(word);

return;

}

pCounter = pStart;

while(pCounter != NULL)

{

if(strcmp(word, pCounter->str) == 0)

{

++pCounter->freq;

return;

}

pLast = pCounter;

pCounter = pCounter->pNext; 

}

pLast->pNext = createWordCounter(word);

}

Word* createWordCounter(char *word)

{

Word *pCounter = NULL;

pCounter = (Word*)malloc(sizeof(Word));

pCounter->str = (char*)malloc(strlen(word)+1);

strcpy(pCounter->str, word);

pCounter->freq = 1;

pCounter->pNext = NULL;

return pCounter;

}

int getNextWord(FILE *fp, char *buf, int bufsize) {

char *p = buf;

char c;

do {

c = fgetc(fp);

if (c == EOF)

return 0;

} while (!isalpha(c));

do {

if (p - buf < bufsize - 1)

*p++ = tolower(c);

c = fgetc(fp);

} while (isalpha(c));

*p = '�';

return 1;

}

Preparing a report of the file

To open the file using a link list comment

To load the words of the file in a binary search tree

To search for a word in the file

To display the line numbers of words in the file

To raise an exception if the word ID not found in file

To sort the words in the given file alphabetically

To calculate the word frequency of each words in the file.

References

Gilberg, R. and Forouzan, B. (2001). Data structures. Pacific Grove, CA: Brooks/Cole.

Smith, P. (2004). Applied data structures with C++. Sudbury, Mass.: Jones and Bartlett Publishers.


Buy C++ Programming with Data Structures Answers Online

Talk to our expert to get the help with C++ Programming with Data Structures Answers to complete your assessment on time and boost your grades now

The main aim/motive of the management assignment help services is to get connect with a greater number of students, and effectively help, and support them in getting completing their assignments the students also get find this a wonderful opportunity where they could effectively learn more about their topics, as the experts also have the best team members with them in which all the members effectively support each other to get complete their diploma assignments. They complete the assessments of the students in an appropriate manner and deliver them back to the students before the due date of the assignment so that the students could timely submit this, and can score higher marks. The experts of the assignment help services at urgenthomework.com are so much skilled, capable, talented, and experienced in their field of programming homework help writing assignments, so, for this, they can effectively write the best economics assignment help services.

Get Online Support for C++ Programming with Data Structures Assignment Help Online

Copyright © 2009-2023 UrgentHomework.com, All right reserved.