cao,svima!potrebna mi je pomoc u vezi sljedeceg zadatka:u tekstualnoj datoteci se u prvom redu nalaze broj vrsta i kolona matrice,a u sljedecim redovima su elementi matrice!potrebno je te elemente iscitati,ubaciti u binarno drvo i zatim drvo odstampati u inorder redosljedu!
morate priznati da je zadatak vrlo jednostavan,ali moj kod ipak ne funkcionise!tacnije,uvijek mi javlja poruku da se datoteka ne moze otvoriti!
ako neko ima vremena neka neka pogleda kod i javi mi u cemu grijesim!!!
unaprijed hvala!
a evo i koda:
#include<stdio.h>
#include<stdlib.h>
struct tree
{
float value;
struct tree* left;
struct tree* right;
};
void insert(tree* tr,float data)
{
if(tr==NULL)
{
struct tree* New=(struct tree*)malloc(sizeof(struct tree));
New->value=data;
New->left=NULL;
New->right=NULL;
tr=New;
}
else
{
if(data<tr->value)
insert(tr->left,data);
else insert(tr->right,data);
}
}
void FileToTree(struct tree** tr,char* FileName)
{
FILE* fp;
int m,n,i,j;
float a;
if((fp=fopen(FileName,"r"))==NULL)
{
printf("datoteka se ne moze otvoriti!\n");
return;
}
else
{
fscanf(fp,"%d",&m);
fscanf(fp,"%d",&n);
while(!feof(fp))
{
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
fscanf(fp,"%f",&a);
insert(*tr,a);
}
}
}
fclose(fp);
}
void inorder(struct tree* tr)
{
if(tr!=NULL)
{
inorder(tr->left);
printf("%f ",tr->value);
inorder(tr->right);
}
}
void main()
{
char* FileName="Matrix.txt";
struct tree* tr=(struct tree*)malloc(sizeof(struct tree));
FileToTree(&tr,FileName);
inorder(tr);
}