C://Veriler.txt içindeki verileri ikili ağaca ekleyen C kodunu yazınız.Soru şu şekilde.Fakat yazdığım kod çalışmıyor.Benim yazdığım kod şu şekilde;#include <stdio.h>#include <stdlib.h>typedef struct n{ int data; struct node* sol; struct node* sag;}node;node* tree=NULL;node* ekle(node* agac,node* yeni){ if(agac==NULL){ node* root=(node*)malloc(sizeof(node)); root->sag=NULL; root->sol=NULL; root->data=yeni; } if(agac->data<yeni){ agac->sag=ekle(agac->sag,yeni); return agac; } agac->sol=ekle(agac->sol,yeni); return agac;}void dolas(node* agac){ if(agac==NULL){ return; } dolas(agac->sol); printf("%d ",agac->data); dolas(agac->sag);}int main(){node* yeni=NULL;FILE *dosya;dosya=fopen("veriler.txt","r");while(feof(dosya)){ fscanf(dosya,"%d",yeni->data); ekle(tree,yeni); }dolas(tree); return 0;}
Ekle fonksiyonunda if blokları yanlış yazılmış 1-eğer ağaç boş ise -datayı yaz 2-eğer ağacın datası gelenden küçükse-ağacın sağına git 3-eğer ağaç darası gelenden büyükse-ağacın soluna git Bunları else if yapısı ile yapman daha sağlıklı. Son olarak recursive yapısında hata var < Bu ileti mobil sürüm kullanılarak atıldı >