Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
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ông cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.
    Đã đượ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ông cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

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