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

Đề tài: Code cây nhị phân chạy sai

  1. #1
    Ngày gia nhập
    04 2012
    Bài viết
    0

    Mặc định Code cây nhị phân chạy sai

    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    #include<malloc.h>

    typedef char Data_Type;
    typedef struct Node
    {
    Data_Type Data;
    Node*Left,*Right;
    };
    typedef Node*Tree;

    void Make_Null_Tree( Tree &T)
    { T=NULL; }

    int Empty_Tree( Tree T)
    { return T==NULL; }

    Tree Left_Child( Tree n)
    {
    if(n!=NULL) return n->Left;
    else return NULL;
    }

    Tree Right_Child( Tree n)
    {
    if(n!=NULL) return n->Right;
    else return NULL;
    }

    int sonut( Tree T)
    {
    if(Empty_Tree(T)) return 0;
    else return 1+sonut(Left_Child(T))+sonut(Right_Child(T));
    }

    void Chen_Node( Data_Type x, Tree &T)
    {
    if(T==NULL)
    { T=(Node*)malloc(sizeof(Node));
    T->Data= x;
    T->Left=NULL;
    T->Right=NULL;
    }
    else if(x<T->Data) Chen_Node(x, T->Left);
    else if(x<T->Data) Chen_Node(x, T->Right);
    }

    void nhap(Data_Type x, Tree T)
    {
    int n,i;
    char hoten[30];
    Make_Null_Tree(T);
    printf("\n Nhap vao so nut: ");
    scanf("%d", &n);
    for( int i=1; i<=n; i++)
    {
    //fflush(stdin);
    printf("\n Phan tu thu %d: ", i);
    fflush(stdin);
    scanf("%d", &x);
    printf("\n Nhap vao hoten: ");
    fflush(stdin);
    gets(hoten);
    Chen_Node(x,T);
    }
    }

    int main()
    {
    Data_Type x;
    Tree T;
    char hoten[30];
    printf("\n Nhap vao cay gia pha: ");
    nhap(x,T);
    printf("\n Cay vua nhap la: ");
    fflush(stdin);
    gets(hoten);
    //scanf("%d", &T);
    Chen_Node(x,T);
    getch();
    return 0;
    }


    Mình muốn in ra cây nhị phân như thế này:
    1-Tran Van A //có 2 con là Trần Văn B,Trần Văn C
    2-Tran Van B 3-Tran Van C

    Nhưng mình làm cho in vừa số vừa chuỗi lại không được nên tách ra, mà tách ra lại không biết gộp lại. Các bạn cho ý kiến! Cảm ơn!

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

    Chao ban,

    Code:
    void inCayNhiPhan(Tree T)
    {
          if ( T!=null )
          {
                printf(T.data);
                inCayNhiPhan(T.Left);
                inCayNhiPhan(T.Right);
          }
    }
    P/s: bạn bỏ code vô tag CODE, thụt code vô đúng format để mọi ng` dễ đọc

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

  1. Đoạn code trong sách Ngôn ngữ lập trình C# mình code trên máy thì chạy sai
    Gửi bởi piavg trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 01-07-2012, 11:04 PM
  2. Trả lời: 5
    Bài viết cuối: 27-04-2012, 07:51 PM
  3. compiler Warning: Unreachable code và chạy sai trong khi code đúng. Vì sao?
    Gửi bởi lovemoney trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 19
    Bài viết cuối: 19-01-2012, 10:02 PM
  4. Công cụ lập trình C++ Code Block Không chạy khi sửa nội dung code.
    Gửi bởi bangocdam trong diễn đàn Tài liệu, ebooks và công cụ
    Trả lời: 2
    Bài viết cuối: 30-04-2011, 09:18 AM
  5. code tìm cây có trọng lượng nhỏ nhất bằng giải thuật prim-cách chạy tay code này
    Gửi bởi ruacon_206 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 25-04-2011, 02:27 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