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

Đề tài: liệt kê tất cả các phần tử có thể có của 3 tập X,Y,Z

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

    Mặc định liệt kê tất cả các phần tử có thể có của 3 tập X,Y,Z

    Yêu cầu của đề bài: hãy liệt kê tất cả các phần tử có thể có của 3 tập X,Y,Z.Các bạn xem thử code này sai o chỗ nao
    C Code:
    1. #include<conio.h>
    2. #include<stdio.h>
    3. #include<string.h>
    4. struct Domain
    5. {
    6. char values[27];
    7. int n;
    8. int cur;
    9. int serviced;
    10. };
    11. void init(Domain &D,char *s)
    12. {
    13.     strcpy(D.values,s);
    14.     D.n=strlen(s);
    15.     D.cur=0;
    16.     D.serviced=0;
    17.  
    18. }
    19. char getvalue(Domain D)
    20. {char x=D.values[D.cur++];
    21.  
    22.     if(D.cur==D.n)
    23.     D.cur=0;
    24.     if(D.serviced==0)
    25.     D.serviced=1;
    26. return x;
    27. }
    28. int iscircular(Domain D)
    29. {
    30.     return (D.cur==0&&D.serviced==1);
    31. }
    32. void generate()
    33. {
    34.     char vars[4];
    35.     Domain D0,D1,D2;
    36.     init(D0,"abc");
    37.     init(D1,"de");
    38.     init(D2,"mnt");
    39.     vars[0]=getvalue(D0);
    40.     vars[1]=getvalue(D1);
    41.     vars[2]=getvalue(D2);
    42.     vars[3]=0;
    43.     puts(vars);
    44.     int stop=(iscircular(D0)&&iscircular(D1)&&iscircular(D2));
    45.     while(!stop)
    46.     {
    47.         if(iscircular(D2))
    48.         vars[1]=getvalue(D1);
    49.         vars[2]=getvalue(D2);
    50.                 if(iscircular(D1)&&iscircular(D2))
    51.         vars[0]=getvalue(D0);
    52.         puts(vars);
    53.         stop=(iscircular(D0)&&iscircular(D1)&&iscircular(D2));
    54.     }
    55. }
    56. void main()
    57. {
    58. clrscr();
    59. generate();
    60. getch();
    61. }

  2. #2
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Không hiểu đề lắm nên khó mà phân tích code được .

    TakeOnMe nói rõ và ví dụ cụ thể đồng thời đưa code vào thẻ QUOTE nhé .

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

    ở trong bài toán ta có 3 tập hợp X={a,b,c},Y={d,e},z{m,n,t}.Bây giờ ta hãy liệt kê ra những phần tử thuộc 3 tập hợp này.Sau đó in ra màn hình .
    {a,d,m}
    {a,d,n}
    {a,d,t}
    {a,e,m}
    {a,e,n}
    {a,e,t}
    {b,d,m}
    .........
    {c,e,t}
    Đã được chỉnh sửa lần cuối bởi takeonme : 13-06-2007 lúc 09:04 AM. Lý do: cho rõ ràng

  4. #4
    Ngày gia nhập
    02 2007
    Nơi ở
    TP.HCM - dưới cầu SG
    Bài viết
    12

    Mặc định "Đệ tử" thầy Minh phải ko?

    Bài này là dùng "thuật toán sinh" để liệt kê các phần tử thuộc tích Đề-các của 3 tập hợp. Có 2 lý do bài của bạn ko chạy ( cần luyện thêm công phu để chép bài trên lớp cho chính xác )
    + Mẫu hàm phải là char getvalue(Domain &D) bởi vì trong hàm bạn đã thay đổi các biến cur, serviced của Domain.
    + Trong hàm sinh generate() bạn sửa lại:
    Code:
    while(!stop)
    {
      if(iscircular(D1)&&iscircular(D2))
         vars[0]=getvalue(D0);
      if(iscircular(D2))
         vars[1]=getvalue(D1);
      vars[2]=getvalue(D2);
    
      puts(vars);
      stop=(iscircular(D0)&&iscircular(D1)&&iscircular(D2));
    }
    Lý do tại sao sửa vậy bạn cứ đọc kỹ đoạn này ( có thể kết hợp thêm "chạy tay" ).
    Thân!
    Nơi nào khiến anh dừng bước, nơi đó có em.

  5. #5
    Ngày gia nhập
    03 2007
    Bài viết
    6

    cám on bạn!chỉ cần thêm vao hàm getvalue(Domain &D)

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

  1. Trả lời: 6
    Bài viết cuối: 31-07-2013, 07:51 PM
  2. Mỹ phẩm Thu Huyền: Bộ mỹ phẩm trị nám, tàn nhang Bride Korea - call 0906.260.160
    Gửi bởi kimkim8910 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 12-03-2012, 10:49 PM
  3. phần merge module bị thiếu crystal report phải làm thế nào ?
    Gửi bởi manhluc88 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 06-01-2011, 01:11 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