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

Đề tài: Khai báo ds liên kết đơn

  1. #1
    Ngày gia nhập
    09 2011
    Bài viết
    2

    Wink Khai báo ds liên kết đơn

    Em khai báo các hàm trong ctdl giống y hệt trong giáo trình nhưng sau vẫn bị lỗi. Mấy a giải thích giùm e với.
    Code:
    //Khai bao
    #include<conio.h>
    #include<stdio.h>
    #include<alloc.h>
    typedef int ElementType;
    typedef struct Node
    {
    	ElementType Element;
    	Node* Next;
    };
    typedef Node* Position;
    typedef Position List;
    //Tao danh sach rong
    void MakeNullList (List *Header)
    {
    	(*Header) = (Node*)malloc(sizeof(Node));
    	(*Header) -> Next = NULL;
    }
    //Kim tra ds rong
    int EmptyList (List L)
    {
    	return L->Next == NULL;
    }
    //Them pt vao vi tri p
    void InsertList (ElementType X, Position P, List *L)
    {
    	Position T;
    	T = (Node*) malloc (sizeof(Node));
    	T->Next->Element = X;
    	T->Next = P->Next;
    	P->Next = T;
    }
    //Xoa pt tai vi tri p
    void DeleteList (Position P, List L)
    {
    	if(P->Next != NULL)
    	{
    		Position T;
    		T->Next = P->Next;
    		P->Next = P->Next->Next;
    		free(T);
    	}
    	else
    		printf("\nDanh sach rong, khong the xoa!");
    }
    //Tim vi tri pt X dau tien trong ds
    Position Locate(ElementType X, List L)
    {
    	Position P = L;
    	int found = 0;
    	while (P->Next != NULL && found==0)
    	{
    		if(P->Next->Element == X)
    			found = 1;
    		else
    			P = P->Next;
    	}
    	return P;
    }
    //Lay noi dung phan tu tai vi tri p
    ElementType Retrieve(Position P, List L)
    {
    	return P->Next->Element;
    }
    //Tra ve vi tri dau tien cua ds
    Position FirstList (List L)
    {
    	return 1;//Bị lỗi chỗ này/!\
    }
    //Tra ve vi tri cuoi cung trong ds
    Position EndList (List L)
    {
    	Position P=FirstList(L);
    	while (P->Next != NULL)
    		P = P->Next;
    	return P;
    }
    //Nhap ds L tu ban phim
    void ReadList (List *L)
    {
    	ElementType X;
    	int n;
    	printf("\nNhap so luong phan tu trong ds: ");
    		scanf("%d",&n);
    
    	for(int i=1; i<=n; i++)
    	{
    		printf("\nPhan tu thu %d: ",i);
    			scanf("%d",&X);
    			InsertList(X,EndList(*L),L);
    	}
    }
    //In ds ra man hinh
    void PrintList (List L)
    {
    	Position P = FirstList(L);
    	while(P->Next != NULL)
    	{
    		printf("\t%d",Retrieve(P,L));
    		P = P->Next;
    	}
    }
    //Chuong trinh chinh kiem tra
    void main()
    {
    	clrscr();
    	List L;
    	MakeNullList (&L);
    	printf("Nhap ds!\n");
    		ReadList(&L);
    	printf("\nXuat ds vua nhap!\n");
    		PrintList(L);
    	getch();
    }

  2. #2
    Ngày gia nhập
    01 2011
    Nơi ở
    -Mountain-
    Bài viết
    768

    Bạn đọc lại phần kiểu trả về và dữ liệu trả về. 2 cái này phải đồng nhất

    Position FirstList (List L)
    {
    return 1;//Bị lỗi chỗ này
    }
    ps: Bạn nên đọc lại cách đặt tiêu đề . Lần sau mình xóa chứ không di chuyển đề tài đâu
    http://diendan.congdongcviet.com/showthread.php?t=19
    Hướng dẫn C++: https://www.youtube.com/watch?v=BwLodoQdoY4&list=PL1c9Uxlo-mplJDRGdONNupgo5OCBTyGGn

  3. #3
    Ngày gia nhập
    08 2011
    Nơi ở
    /pentest
    Bài viết
    44

    C Code:
    1. typedef struct Node
    2. {
    3.     ElementType Element;
    4.     Node* Next;
    5. };
    6. typedef Node* Position;
    7. typedef Position List;

    Lỗi nhá, sửa được bàn tiếp hih

  4. #4
    Ngày gia nhập
    12 2010
    Nơi ở
    Cần thơ
    Bài viết
    273

    Trích dẫn Nguyên bản được gửi bởi meterpreter Xem bài viết
    Lỗi nhá, sửa được bàn tiếp hih
    [QUOTE=meterpreter;284617]
    C Code:
    1. struct Node
    2. {
    3.     ElementType Element;
    4.     Node* Next;
    5. };
    6. typedef struct Node* Position;
    7. typedef Position List;
    Cá là đại ka này học chung trường với ta...giáo trình tủn hoặc là do trình dịch tủn
    tớ viết y chang giáo trình và y chang anh chàng này cũng bị lỗi và sữa thế

    Position ở đây là 1 con trỏ làm sao mà
    C Code:
    1. return 1;
    được trời
    Sữa lại thử
    C Code:
    1. return L;
    Ai bất tài, tôi nhìn hoài chẳng thấy,
    Đi khắp phòng tôi lấy 1 tấm gương,
    Khẽ đặt lên một góc phía bức tường,
    Nhìn vào đó, tôi tận tường kẻ đó.

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

  1. cách sử dụng danh sách liên kết khai báo cây nhị phân trong C++
    Gửi bởi huunhan577 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 21-03-2013, 09:43 AM
  2. CT: 08.38484879 Có nên khai người thân khi làm hồ sơ du học Mỹ không? Liên hệ làm hồ sơ ở đâu?
    Gửi bởi hongngoc01 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 12-10-2012, 09:58 PM
  3. Con trỏ trên C Các cách khai báo con trỏ trong danh sách liên kết đơn?
    Gửi bởi vandt trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 7
    Bài viết cuối: 11-09-2012, 09:39 AM
  4. khai báo danh sách liên kết đơn
    Gửi bởi HaNguyen 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: 19-10-2010, 05:14 PM
  5. Lập trình C Thắc mắc về khai báo protoype và các hàm liên quan khi khai báo!
    Gửi bởi ganhim trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 15
    Bài viết cuối: 10-08-2010, 02:03 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