I am trying to create a program that loads a list of numbers from an input file
ID: 3531540 • Letter: I
Question
I am trying to create a program that loads a list of numbers from an input file into a Binary tree.
Here is what i have but does not work.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream inFile;
inFile.open("random.txt");
?
float NUMBER;
if (!inFile)
{
cout<< "could not open file."<<endl;
system("PAUSE");
return 1;
}
?
struct Node
{
float data;
Node *left;
Node *right;
};
?
?
Node *root;
Node *current;
root=NULL;
root->left=NULL;
root->right=NULL;
current=root;
?
while (inFile>>NUMBER)
{
if (current->data==NULL)
{
current=new Node;
inFile>>current->data;
current->right=NULL;
current->left=NULL;
}
if (NUMBER<current->data)
{
if (current->left!=NULL)
{
current=root->left;
}
if (current->left==NULL)
{
current->left=new Node;
inFile>>current->data;
current->right=NULL;
current->left=NULL;
}
}
if (NUMBER>current->data)
{
if (current->right!=NULL)
{
current=current->right;
}
if (current->right==NULL)
{
current->right=new Node;
inFile>>current->data;
current->right=NULL;
current->left=NULL;
}
}
}
?
?
current=root;
current->left;
cout<<current->data<<endl;
return 0;
}
Explanation / Answer
your modified version of code,i have just done few changeand its working,just chek it
#include <iostream>
#include <fstream>
using namespace std;
struct Node
{
float data;
Node *left;
Node *right;
};
int main()
{
ifstream inFile;
inFile.open("random.txt");
float NUMBER;
if (!inFile)
{
cout<< "could not open file."<<endl;
system("PAUSE");
return 1;
}
Node *root;
Node *current;
root=NULL;
while (inFile>>NUMBER)
{
current=root;
if (current==NULL)
{
current=new Node;
current->data=NUMBER;
current->right=NULL;
current->left=NULL;
root=current;
}
else if (NUMBER<current->data)
{
if (current->left!=NULL)
{
current=current->left;
}
if (current->left==NULL)
{
current->left=new Node;
current->left->data=NUMBER;
current->left->right=NULL;
current->left->left=NULL;
}
}
else if (NUMBER>current->data)
{
if (current->right!=NULL)
{
current=current->right;
}
if (current->right==NULL)
{
current->right=new Node;
current->right->data=NUMBER;
current->right->right=NULL;
current->right->left=NULL;
}
}
}
system("PAUSE");
return 0;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.