Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Load file binary tree

  1. #1
    Ngày gia nhập
    03 2008
    Bài viết
    8

    Smile Load file binary tree

    File của mình là tudien.txt Trong đó chứa dữ liệu từ và nghĩa từ trên mỗi dòng và cách nhau bởi dấu ';'
    Code:
    hello    ; xin chao
    mum    ;      me
    Nhiệm vụ của mình là load toàn bộ từ điển trên file vào 1 cây nhị phân
    Sau đó mình xây dựng hàm tìm kiếm trên cây nhị phân
    Nhưng khi mình in ra màn hình nghĩa của từ với từ nhập vào thì bị không hiện j cả.Các bạn giúp mình nhé.Thanks nhiều nhiều
    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    #include<alloc.h>
    
    typedef struct tudien{
    		  char tu[20];
    		  char nghia[50];};
    typedef struct node{
    		  tudien td;
    		  node *trai;
    		  node *phai;}NODE;
    typedef NODE *tree;
    tree *root;
    void nhap(tree &root,tudien t)
    { root->td=t;
    root->trai=NULL;
    root->phai=NULL;
    }
    void xacdinhnode(tree root,tudien t) //ham xac dinh xem them vao node nao cua cay
    { int k;
    while(1)
    { k=strcmpi(root->td.tu,t.tu);
    if(k==0) break;
    else if(k>0)
    {if(root->trai==NULL)
     {root->trai=(tree)malloc(sizeof(NODE)) ;nhap(root->trai,t);break;}
     else {root=root->trai;}
    }
    else if(k<0)
    {if(root->phai==NULL)
     {root->phai=(tree)malloc(sizeof(NODE)) ;nhap(root->phai,t);break;}
     else {root=root->phai;}
    }
    }
    }
    void doc(tree &root)
    { FILE *f;
    tudien t;
    char dong[80];
    f=fopen("tudien.txt","r");
    if(f==NULL){fclose(f);return;}
    while(!feof(f)){
    		fflush(stdin);
    		fgets(dong,80,f);
    		int n= strlen(dong);
    		int i=0;
    		while(dong[i]!=';'){
    					 t.tu[i]=dong[i];
    					 i++;}
    					 t.tu[i]='\0';
    		int j=0;
    		while(i++<=n){
    					t.nghia[j]=dong[i];
    					j++;
    					}
    		root->td=t;
    		fclose(f);
    	}
    if(root==NULL){
    		root=(tree)malloc(sizeof(NODE));
    		nhap(root,t);}
    else xacdinhnode(root,t);
    }
    tudien Search(tree root,char ch[])
    { int t;
    while(root!=NULL)
    {t=strcmpi(root->td.tu,ch);
    if(t==0) return(root->td);
    else if(t>0) root=root->trai;
    else if(t<0) root=root->phai;
    }
    return(root->td);;
    }
    void main(){
    tudien(t);
    char ch[30];
    doc(*root);
    printf("nhap vao tu tim kiem\n");
    gets(ch);
    fflush(stdin);
    t=Search(*root,ch);
    printf("Nghia cua tu la %50s",&t.nghia);
    getch();
    }
    ....!!!!!!

  2. #2
    Ngày gia nhập
    03 2008
    Bài viết
    8

    Hem ai giúp với.Các bạn giúp mình đi
    ....!!!!!!

Các đề tài tương tự

  1. Lập trình C++ xay dung binary tree mac loi kho hieu
    Gửi bởi xuandao20294 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 03-11-2013, 04:27 PM
  2. Cài đặt Binary Search Tree bằng C#
    Gửi bởi Yin Yang trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 16-01-2011, 04:42 PM
  3. Đọc file đưa vào Binary search tree như thế nào?
    Gửi bởi hoangnn90 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 17-11-2010, 08:21 AM
  4. Binary Tree, xin được giúp đỡ
    Gửi bởi nguyenman999 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 06-10-2009, 06:10 PM
  5. binary search tree.
    Gửi bởi pocolo trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 14-09-2009, 04:55 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn