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

Đề tài: Ko lưu trữ vào danh sách liên kết được, lỗi do đâu?

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

    Mặc định Ko lưu trữ vào danh sách liên kết được, lỗi do đâu?

    các bạn xem thử giúp mình đoạn code này nhé:
    mình làm nó là để tách một câu văn bản ra thành từng từ và nhập nó vào danh sách liên kết.
    Biến F thuộc kiểu list là để chi đến phần tử đầu tiên; biến L: là phần tử cuối cùng; con trỏ x là xâu kí tự;
    Mình làm như vậy nhưng sao chỉ lưu được phần tử đầu tiên;
    VD: ngày mai tôi đi học
    thì nó chỉ lưu lại từ "ngày" thôi
    Code:
    void construct(list &F,list &L,char *x)
    {int i=0,j=0;             char y[20];for(j;j<20;j++) y[j]=NULL; j=0;
    
    
    		for(i;x[i]!=NULL;i++)
    		{ if(x[i]!=' ')
    		   {	y[j]=x[i];
    				j++;
    			}
    		  if(x[i]==' ')
    			{j=0;
    			 insertlast(F,L,y);
    			 continue;
    			 }
    		}
    
    }

  2. #2
    Ngày gia nhập
    04 2007
    Bài viết
    134

    String phải kết thúc bằng ký tự '\0', bạn copy vào y, nhưng quên thêm '\0' vào cuối (ko thôi thì dùng hàm có sẵn trong string.h, khỏi thủ công). (Sẵn tiện bỏ luôn for(j;j<20;j++) y[j]=NULL

  3. #3
    Ngày gia nhập
    04 2009
    Bài viết
    7

    Trích dẫn Nguyên bản được gửi bởi Lugia Xem bài viết
    String phải kết thúc bằng ký tự '\0', bạn copy vào y, nhưng quên thêm '\0' vào cuối (ko thôi thì dùng hàm có sẵn trong string.h, khỏi thủ công). (Sẵn tiện bỏ luôn for(j;j<20;j++) y[j]=NULL
    ko phải vậy; cái '\0' đó tương đương với NULL; mình làm như vậy là đúng rồi, nhưng vấn đề ở đây là nó chỉ lưu phần tử đầu tiên của danh sách thôi;
    VD: mình nhập vào xâu x là : ngay mai toi di hoc
    thì nó chỉ lưu vào chữ " ngay " thôi; còn mấy chữ còn lại thì nó ko lưu vào các phần tử tiếp theo trong danh sách

  4. #4
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Thế thì bạn cần phải xem lại hàm insertlast
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  5. #5
    Ngày gia nhập
    04 2009
    Bài viết
    7

    Hàm insertlast thì mình viết đúng rồi, đâu có gì sai, nhưng mà nó nhận như vậy.hàm insertlast của mình nè bạn
    Code:
    void insertlast(list &F,list &L,char *x) // ham chen ki tu vao cuoi danh sach
    {list p;
     p=new chuoikitu;
     strcpy((*p).kt,x);
     (*p).next=NULL;
     if(F==NULL) F=p;
     else
    	(*L).next=p;
    	  L=p;
    
    }
    nếu mình dùng fflush(stdin) thì hàm construct ở trên sẽ cho mình nhận giá trị sai:
    VD: nguyen khanh la toi
    thì khi mình nhập vào rồi, dùng hàm display để in ra thì nó sẽ ra kết quả thế này bạn nhé:
    nguyen
    khanhn
    laanhn
    đấy, hàm insertlast nhận vào những từ sai như vậy chứ ko phải là những từ "nguyen" "khanh" "la" "toi" như của mình nhập
    hàm display của mình nè:
    Code:
    void display(list &F)           // ham hien thi cau vua nhap
    { list p;int i=0;
      p=new chuoikitu;
      p=F;
    	if (p!=NULL)
    	{ printf("\n %s ",(*p).kt);
    	  p=(*p).next;
    	}

  6. #6
    Ngày gia nhập
    04 2009
    Bài viết
    7

    Mặc định Ko lưu trữ vào danh sách liên kết được, lỗi do đâu?

    trời, có ai ko, giúp mình với đi, mình hỏng suy nghĩ ra được nè, bùn quá

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

  1. Hướng dẫn Biểu diễn thích hợp bằng danh sách liên kết đơn hoặc danh sách liên kết kép
    Gửi bởi maitrung trong diễn đàn Thủ thuật, Tutorials CTDL & Giải thuật
    Trả lời: 3
    Bài viết cuối: 04-08-2012, 08:01 PM
  2. Cấu trúc dữ liệu Cách tạo danh sách liên kết mới từ danh sách liên kết đã cho như thế nào?
    Gửi bởi giacmo1612 trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 2
    Bài viết cuối: 30-11-2011, 04:43 PM
  3. Nhập và xuất danh sách liên kết lồng danh sách liên kết?
    Gửi bởi nvluong_it 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: 22-04-2011, 11:30 AM
  4. Lập trình C Danh sách liên kết - Xử lý danh sách liên kết trong lập trình C
    Gửi bởi phucduan 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: 08-11-2010, 10:25 PM
  5. 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

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