Вставка слов из текстового файла в BST в C ++ - PullRequest
0 голосов
/ 19 октября 2019

Я хочу сделать простую программу проверки правописания. Эта программа возвращает Исправить , если слово найдено в текстовом файле, или Неверно , если слово отсутствует в текстовом файле. Для этого я следую этому appproach: -

1) Создайте текстовый файл с 1 словом в строке в алфавитном порядке (так же, как словарные слова без значений, но только 1 слово в строке)

** 2) ** Вставьте слова из текстового файла в дерево бинарного поиска и проверьте, присутствует ли слово при вводе от пользователя.

Но я не уверен, как это сделатьЯ получаю слова из текстового файла в BST.

#include <iostream>
#include <fstream>
#include <string>



using namespace std;



struct node
{
    struct node *left;
    struct node *right;
    char word[100];
}

struct node *root=NULL;


void create()
{
    struct node *newnode;
    newnode=(struct node *)malloc(sizeof(struct node));
    char str[100];
    for (i=0;i<100;i++){
    cout<< a[i]<<endl;
    }
    strcpy(newnode->word,str);
    newnode->left=NULL;
    newnode->right=NULL;
    root=newnode;
}   


void insert()
{
    struct node *newnode,*temp,*parent;
    newnode=(struct node *)malloc(sizeof(struct node));
    char str[100];
    cout<<"enter word to be inserted \n";
    cin>>a[i+1];
    strcpy(newnode->word,str);
    newnode->left=NULL;
    newnode->right=NULL;
    temp=root;
    while(temp!=NULL)
    {
        parent=temp;
        if(strcmp(temp->word,str)<0)
            temp=temp->left;
        else
            temp=temp->right;
    }
    if(strcmp(parent->word,str)<0)
        parent->left=newnode;
    else
        parent->right=newnode;
}



int main() {

    ifstream inFile;
    inFile.open("test.txt");


    if(inFile.fail()) {

    cerr << "Error opening file"<< endl ;

    exit(1);
    }

    string x;
    string a[100];
    int count=0,i=0;
    string str;

    while( !inFile.eof()) {
        inFile >> x;
            a[i]=x;
            count++;
            i++;        
            }

    for (i=0;i<100;i++){
    cout<< a[i]<<endl;
    }

    create();
    insert();

    return 0;


}

Пожалуйста, помогите мне. Заранее спасибо!


***

I am able to successfully import the text file into program but not into BST.

I created two classes for Root node and inserting the elements from text file to BST but couldnot do it. 

I dont have idea of how to do it. So please help me.
***
...