मैं एक होमवर्क जो मुझे इधर-उधर से पूछना एक पाठ दस्तावेज़ से 100 छात्रों के नाम और आईडी की तरह (उपनाम नाम आईडी) विज्ञापन स्वरूपित तो दो द्विआधारी खोज के पेड़ में डाल सम्मिलित करने के लिए की है। मुख्य BST कुलनाम और अन्य BST नाम और आईडी में शामिल होंगे जो करने के लिए एक सूचक शामिल होंगे। (->, और *,) तो मैं भटक गया हूँ यह पहली बार है कि मैं संकेत का उपयोग करने के trynig कर रहा हूँ है। मैं निम्नलिखित समारोह के साथ पाठ आयात करने में कामयाब
void loadData(char fname[], Students *st){
struct Students *new;
root=NULL;
int i;
FILE *fp;
fp=fopen(fname,r);
if (fp == NULL) printf(File does not exist\n);
fscanf(fp, %d, &(st->size)); //reads the number of students
free(st->name);
st->name=(Name*) malloc(st->size*(sizeof(Name)));
for (i=0; i<st->size; i++){
fscanf(fp, %s,&st);
insert(root,st.surname);/////////I think here is the problem
//fscanf(fp, %s, &st->name[i].firstname);
// fscanf(fp, %d, &st->name[i].id);
}
fclose(fp);
}
और अब मैं डालने समारोह जो मेरे लिए बहुत मुश्किल है बनाने के लिए क्योंकि मैं तर्क नहीं समझ सकता है कि वह लेना चाहिए कोशिश कर रहा हूँ
STU *insert(STU *node, char *sname)///What should i use here to save take the Surname??
{
if(node==NULL){
node=(NODE *) malloc(sizeof(STU));
strcpy(node->surname);
node->left=NULL;
node->right=NULL;
}
else{
if(strcmp(*sname, node->surname)<0)
insert(node->left, *sname);
else if(strcmp(*sname, node->surname)>0)
insert(node->right, *sname);
}
return node;
}
यहाँ संरचना परिभाषा है:
typedef struct Name{
char firstname[20];
int id;
struct Students *nameleft;
struct Students *nameright;
} Name;
typedef struct Students{
char surname[20];
Name *name;
int size;
struct Students *left;
struct Students *right;
} Students;
typedef struct Students STU;
struct Students *insert(char num);
struct Students *root=NULL;
किसी को भी मदद कर सकते हैं मुझे डालने समारोह को सही क्योंकि मैं नहीं समझ सकता है जो तर्क मैं उपनाम को बचाने के लिए उपयोग करना चाहिए और मैं बाकी अपने आप हो जाएगा। मुझे लगता है कि मेरी समस्या डालने कार्य है। फिर भी धन्यवाद।













