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

Đề tài: Nhập các số nguyên rồi lưu trữ dưới dạng cây nhị phân, giúp mình sửa lỗi?

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

    Mặc định Nhập các số nguyên rồi lưu trữ dưới dạng cây nhị phân, giúp mình sửa lỗi?

    Mình có một bài nhập các số nguyên rồi lưu trữ dưới dạng cây nhị phân.Minh làm đến phần duyệt cây thì không thấy nó in ra cây đã duyệt.Code của mình đây:
    C Code:
    1. #include <stdio.h>
    2. #include<stdlib.h>
    3. #include<conio.h>
    4. struct node
    5. {
    6. int element;
    7. struct node *left, *right;
    8. };
    9. struct node *root;
    10. void insert(struct node *root,int *x);
    11. void nhap(struct node *root,int *x);
    12. void NLR(struct node *root);
    13. int main()
    14. {
    15.     int x;
    16.     nhap(root,&x);
    17.     NLR(root);
    18. }
    19. void insert(struct node *root,int *x)
    20. {
    21.     if(root!=NULL)
    22.     {
    23.         if(*x==root->element) printf("\n nhap du lieu bi trung.");
    24.         else if(*x <(root->element))
    25.                 insert(root->left,x);
    26.             else
    27.                 insert(root->right,x);
    28.     }
    29.     else
    30.     {
    31.         root=(struct node*)malloc(sizeof(struct node));
    32.         root->element=*x;
    33.         root->left=NULL;
    34.         root->right=NULL;
    35.     }
    36. }
    37. void nhap(struct node *root,int *x)
    38. {
    39.  
    40.     while(1)
    41.     {
    42.         printf(" Nhap vao phan tu(trong de thoat):");
    43.         scanf("%d",x);
    44.         if(*x==0) break;
    45.         insert(root,x);
    46.     }
    47. }
    48. void NLR(struct node *root)
    49. {
    50.     if(root!=NULL)
    51.     {
    52.         printf("%d",root->element);
    53.         NLR(root->left);
    54.         NLR(root->right);
    55.     }
    56. }

  2. #2
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Dr không thể check và sửa cho bạn, bạn hãy mô tả cụ thể lỗi của bạn là gì? Thử thêm getch(); vào cuối hàm main xem sao?
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  3. #3
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    C Code:
    1. #include <stdio.h>
    2. #include<stdlib.h>
    3. #include<conio.h>
    4. struct node
    5. {
    6. int element;
    7. struct node *left, *right;
    8. };
    9.  
    10. void insert(struct node **root,int x);
    11. void nhap(struct node **root);
    12. void NLR(struct node *root);
    13.  
    14. int main()
    15. {
    16.     node *root=NULL;
    17.     nhap(&root);
    18.     NLR(root);
    19. }
    20.  
    21. void insert(struct node **root,int x)
    22. {
    23.     if(*root!=NULL)
    24.     {
    25.         if(x==(*root)->element) printf("\n nhap du lieu bi trung.");
    26.         else if(x <((*root)->element))
    27.                 insert(&(*root)->left,x);
    28.             else
    29.                 insert(&(*root)->right,x);
    30.     }
    31.     else
    32.     {
    33.         *root = (struct node*)malloc(sizeof(struct node));
    34.         (*root)->element=x;
    35.         (*root)->left=NULL;
    36.         (*root)->right=NULL;
    37.     }
    38. }
    39.  
    40. void nhap(struct node **root)
    41. {
    42.  
    43.     while(1)
    44.     {
    45.         int x;
    46.         printf(" Nhap vao phan tu(trong de thoat):");
    47.         scanf("%d",&x);
    48.         if(!x) break;
    49.         insert(root,x);
    50.     }
    51. }
    52.  
    53. void NLR(struct node *root)
    54. {
    55.     if(root!=NULL)
    56.     {
    57.         printf("%d\t",root->element);
    58.         NLR(root->left);
    59.         NLR(root->right);
    60.     }
    61. }

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

  1. Bài tập C nhập xuất danh sách liên kết đơn các số nguyên. Sửa giúp mình?
    Gửi bởi capulato trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 31-12-2013, 10:08 PM
  2. Chữ số lớn nhất của số nguyên dương n, giúp mình tìm lỗi?
    Gửi bởi lostninja trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 21-07-2013, 09:52 AM
  3. Giúp giùm mình bài phân tích số nguyên dương thành tích thừa số nguyên tố
    Gửi bởi nguyenminhdanh trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 30-09-2008, 07:53 PM
  4. Tìm số nguyên tố lớn nhất trong ma trận. Sửa giúp mình
    Gửi bởi hatcatcodon_104 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 10-06-2008, 02:57 PM
  5. Viết hàm nhập so nguyên dương-Mong mọi ngưởi giúp đỡ
    Gửi bởi heaven007 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 27-12-2007, 06:06 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