Announcement

Collapse
No announcement yet.

Xin giải thích dùm em đoạn code này với

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [C++] Xin giải thích dùm em đoạn code này với

    Em mới nhập môn lập trình C++, em có đoạn code này chưa hiểu nên nhờ các anh chị trong UIT giải thích hộ với ạ :adore:
    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    struct PPS
    {
    	char giatri[27];			//tap tri
    	int n;						//so phan tu
    	int vt;					//vi tri hien hanh
    	int xdt;				//da lay tri chua?
    };
    void khaibao(PPS &D, char *S)
    {
    	strcpy(D.giatri,S);
    	D.n=strlen(S);
    	D.vt=0;
    	D.xdt=0;
    }
    [COLOR="#FF0000"]char laygt(PPS &D)				//lay 1 vi tri trong main
    {
    	char x=D.giatri[D.vt++];
    	if(D.vt==D.n)
    		D.vt=0;						//cap phat vi tri va trang thai
    	if(D.xdt==0)
    		D.xdt=1;
    	return x;
    }[/COLOR]
    int kiemtra(PPS D)				//kiem tra da het 1 vong tri chua?
    {
    	return D.vt==0&&D.xdt==1;
    }
    void lui()
    {
    	char a[4];				//3 bien la 3 ki tu
    	PPS D0,D1,D2;			//3 domain cho 3 ki tu
    	khaibao(D0,"123");				//khoi tao 3 domain
    	khaibao(D1,"456");
    	khaibao(D2,"7");
    	a[0]=laygt(D0);
    	a[1]=laygt(D1);
    	a[2]=laygt(D2);
    	a[3]=0;
    	puts(a);
    	int Stop=kiemtra(D0)&&kiemtra(D1)&&kiemtra(D2);
    	while(!Stop)
    	{
    		if(kiemtra(D1)&&kiemtra(D2))
    			a[0]=laygt(D0);
    		if(kiemtra(D2))
    			a[1]=laygt(D1);
    		a[2]=laygt(D2);
    		puts(a);
    		Stop=kiemtra(D0)&&kiemtra(D1)&&kiemtra(D2);
    	}
    }
    int main()
    {
    	puts("Cac phep gan chuoi 3 ki tu: \n");
    	lui();
    	getch();
    }
    có cái đoạn chỗ hàm lấy giá trị em chưa được hiểu

  • #2

    0. Quy tắc tối thượng: Các mẫu câu: "Chạy không được", "Bị lỗi", "Có lỗi rồi", "Lỗi ở đâu đó", "chạy không ra", v.v... không được chấp nhận.

    1. Code phải để trong thẻ [PHP] hoặc thẻ [CODE]. Để cho đẹp hơn nữa có thể sử dụng các pastebin như http://pastebin.com/

    2. Khi nêu khúc mắc về một đoạn code phải nêu rõ đoạn code đó chủ đích được viết ra để làm gì. Giải quyết quyết bài toán hay minh họa vấn đề nào? Nếu bạn không phải là người viết code thì liên hệ hỏi người viết để biết, nếu chính người viết đoạn code cũng không biết nó dùng làm gì thì đoạn code đó
    nên bỏ đi, không đáng để thắc mắc.

    3. Nếu đoạn code có lỗi (compile time họăc runtime) phải nêu rõ hàng nào bị lỗi, nội dung thông báo lỗi, thông tin trình biên dịch. Chú ý quy tắc 0

    4. Nếu đoạn code không phát sinh error khi chạy, nhưng cho kết quả sai mục đích ban đầu thì phải mô tả rõ ứng với trường hợp dữ liệu nào sẽ cho kết quả sai, kết qủa mong muốn là gì và kết quả chương trình đưa ra là gì. Chú ý quy tắc 0
    Lúc mới vào UIT :byebye:
    Học xong năm 1: :haha:
    Học xong năm 2: :sexy:
    Học xong năm 3: :baffle:

    Comment


    • #3
      bạn nêu rõ ý nghĩa các thành phần struct mới biết mà giúp chứ, ghi thế này chịu

      Comment


      • #4
        trả về giá trị kế bên vị trí hiện hành, nếu duyệt tới vị trí cuối cùng thì quay trở về vị trí đầu tiên. Khi đã lấy giá trị thì đăt xvt=1;

        Comment

        LHQC

        Collapse
        Working...
        X