Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Thắc mắc về Danh Sách Liên Kết Đơn

    Đề bài: Tạo một danh sách liên kết đơn, biết rằng thành phần dữ liệu của một nút là một số nguyên dương, việc nhập kết thúc khi ta nhập 1 số âm.

    Cho mình hỏi với đề bài trên đoạn code của mình sai ở đâu mà khi chạy nó báo lỗi " Biến "x" được sd mà không khởi tạo. Mong ACE giúp mình với phần DSLK mình còn gà lắm !
    Mã:
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    #include<stdlib.h>
    struct NODE
    {
    	int Info;
    	struct NODE* next;
    };
    struct LIST
    {
    	NODE head;
    	NODE tail;
    };
    NODE* CreatNode(int x)
    {
    	NODE *p;
    	p = new NODE;
    	if(p == NULL) exit(1);
    	p->Info = x;
    	p->next = NULL;
    	return p;
    }
    void Createlist(LIST &L)
    {
    	L.head.next = NULL;
    	L.tail.next = NULL;
    }
    void AddHead(LIST &L,NODE *p)
    {
    	if(L.head.next == NULL)
    	{
    		L.head.next = p;
    		L.tail.next = L.head.next;
    	}
    	else
    	{
    		p->next=L.head.next;
    		L.head.next=p;
    	}
    }
    void AddTail(LIST &L,NODE *p)
    {
    	if(L.head.next == NULL)
    	{
    		L.head.next = p;
    		L.tail.next = L.head.next;
    	}
    	else
    	{
    		L.tail.next = p->next;
    		L.tail.next = p;
    	}
    }
    void input(int x)
    {
    	printf("Nhap thog tin :");
    	scanf("%d",&x);
    }
    void Nhap(LIST &L)
    {
    	int x;
    	do
    	{
    		input(x);
    		NODE *p=CreatNode(x);
    		AddTail(L,p);
    		if(L.tail.Info < 0)
    			break;
    	} while (1);
    }
    void output(int x)
    {
    	printf("
     %d",x);
    }
    void xuat(LIST &L)
    {
    	NODE *p;
    	p=L.head.next;
    	while(p!=NULL)
    	{
    		output(p->Info);
    		p=p->next;
    	}
    }
    void menu()
    {
    	LIST L;
    	NODE *p;
    	int x;
    	char chon;
    	Createlist(L);
    	do
    	{
    		printf("\t\t\tMENU
    ");
    		printf("
     1. Nhap Danh Sach");
    		printf("
     2. Xuat Danh Sach
    ");
    		chon=getch();
    		switch (chon)
    		{
    			case '1':{ Nhap(L); break;}
    			case '2':{ xuat(L); break;}		 
    		}
    	}
    	while (chon!=0);
    }
    void main()
    {
    	while (1)
    	{
    		menu();
    		getch();
    	}
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mã:
    void input(int x)
    {
    	printf("Nhap thog tin :");
    	scanf("%d",&x);
    }
    Mã:
    void input(int &x)
    {
    	printf("Nhap thog tin :");
    	scanf("%d",&x);
    }

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •