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

Đề tài: Sửa dùm mình code về danh sách liên kết

  1. #1
    Ngày gia nhập
    12 2007
    Bài viết
    1

    Mặc định Sửa dùm mình code về danh sách liên kết

    Code:
    #include "string.h"
    #include "iostream.h"
    #include "malloc.h"
    struct pp
    {
    	char ten[20];
    	int t;
    	struct pp *tiep;
    }person;
    void main()
    {
    	int t;
    	char ten[20];
    	pp *pdau,*p;
    	for(int i=0;i<5;i++)
    	{
    	pdau='\0';
    	cin >> ten;
    	if(pdau=='\0')
    	{
    		pdau=(pp*)malloc(sizeof(pp));
    		p=pdau;
    	}
    	else
    	{
    		(*p).tiep=(pp*)malloc(sizeof(pp));
    		p=p->tiep;
    	}
    	strcpy(p->ten,ten);
    	cin >> t;
    	p->t=t;
    	p->tiep='\0';
    	}
    	p=pdau;
    	while(p!='\0')
    	{
    	cout << (*p).ten<<'\t'<<(*p).t<<'\n';
    	p=(*p).tiep;
    	}
    }
    mấy bạn giúp dùm mình thx a lot
    khi print ra thì nó chỉ xuất hiện phần tử cuối cùng thui >.<

    Lưu ý: Vui lòng cho code của bạn vào tag code. Đọc Nội quy để biết thêm chi tiết.
    Đã được chỉnh sửa lần cuối bởi Kevin Hoang : 03-01-2008 lúc 11:50 PM. Lý do: code --->tag

  2. #2
    Ngày gia nhập
    10 2007
    Nơi ở
    Lang thang
    Bài viết
    7

    Khi print thì chương trình chỉ in ra phần tử cuối cùng vì cứ mỗi vòng lặp cậu lại gán lại pdau = '\0',thao tác gán này phải đặt bên ngoài vòng for.
    Người đẹp lại lấy người xinh.bao nhiêu kẻ xấu rập rình lấy nhau !!!

  3. #3
    Ngày gia nhập
    12 2007
    Bài viết
    1

    thx bạn nhìu

  4. #4
    Ngày gia nhập
    10 2007
    Bài viết
    8

    mình nghĩ bạn code như vậy quả thực rất rối --->> đọc rô chỉ có die thui àh
    dưới đây là code của mình bạn tham khảo nhé . Chương trình được code thành nhiều hàm với các chức năng để có thể dễ dàng sử dụng !!!
    Code:
    #include "stdio.h"
    #include "conio.h"
    
    struct NODE
    {
    	int Info;
    	NODE *Next;
    };                                 
    
    struct LIST
    {
    	NODE *Head;
    	NODE *Tail;
    };
    
    NODE* GetNode(int x)
    {
    	NODE *p = new NODE;
    	if(p==NULL)
    		return NULL;
    	p->Info =x;
    	p->Next =NULL;
    	return p;
    }
    
    void Init(LIST &L)
    {
    	L.Head = L.Tail =NULL;
    }
    
    void AddTail(LIST &l, NODE *p)
    {
    	if(l.Head == NULL)
    	{
    		l.Head = p;
    		l.Tail = l.Head;
    	}
    	else
    	{
    		l.Tail->Next = p;
    		l.Tail = p;
    	}
    }
    
    void ProcessList(LIST l)
    {
    	NODE *p;
    	p = l.Head;
    	while(p!=NULL)
    	{
    		printf("  %d",p->Info);
    		p=p->Next;
    	
    	}
    }
    
    void DeleteTail(LIST &l)
    {
    	NODE *p =l.Head;
    	NODE *q = new NODE;
    	
    	for(;p!=NULL;p=p->Next)
    	{
    		NODE *temp = p->Next;
    		if(temp->Next ==NULL)
    		{
    			q=p;
    			p=p->Next;
    		}
    	}
    	
    	l.Tail = q;
    	q->Next = NULL;
    	delete p;
    }
    
    void NhapDanhSach(LIST &l)
    {
    	int n;
    	printf("Nhap so NODE cua ds :");
    	scanf("%d",&n);
    	Init(l);
    	for(int i=0;i<n;i++)
    	{
    		int x;
    		printf("\nNODE[%d] = ",i+1);
    		scanf("%d",&x);
    		NODE *p = GetNode(x);
    		AddTail(l,p);
    	}
    }
    
    
    void main()
    {
    	printf("nhap dslk :\n");
    	LIST l;
    	NhapDanhSach(l);
    	printf("\ndanh sach moi dau la : ");
    	ProcessList(l);
    	printf("\nDanh sach sau khi xoa phan tu cuoi la :\n");
    
    	DeleteTail(l);
    	ProcessList(l);
    	printf("\n");
    
    	getch();
    }

    ở đây bạn có thể hoàn toàn thay thế thông tin của lớp cho tương ứng với yêu cầu của bạn !!! ví dụ thay trường int Info thành char *sName --> tên người .
    hoặc có thể thêm trường đó vô node của dslk
    chúc bạn học tốt

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

  1. Bài tập C danh sach liên kết gặp 1 lỗi , sữa giúp và giải thích dùm em
    Gửi bởi truongvantri trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 30-05-2013, 08:06 AM
  2. Lập trình C Các bác giải dùm em bài trộn 2 danh sách có thứ tự thành 1 danh sách có thứ tự trong DS liên kết đơn
    Gửi bởi letranhoangtai trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 05-09-2012, 02:03 AM
  3. Code quản lý, tìm kiếm danh sách sử dụng danh sách liên kết đơn
    Gửi bởi anther trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 02-09-2010, 09:25 AM
  4. Danh sách liên kết, code nhập danh sách sinh viên có lỗi làm sao sửa?
    Gửi bởi acmilan 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: 10-04-2009, 08:24 PM
  5. Nhờ các anh chị phân tích bài tập về danh sách liên kết dùm em
    Gửi bởi damsel0909 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: 12-03-2009, 09:59 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