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

Đề tài: Bài tập C++, trò trơi tập thể!

  1. #1
    Ngày gia nhập
    12 2006
    Bài viết
    9

    Mặc định Bài tập C++, trò trơi tập thể!

    bài tập thầy giao cho em nhưng làm hoài sao hổng đúng gì hết
    Đề: có N người tham gia trò chơi tập thể bằng cách đứng trong một vòng tròn và chỉ người thứ M quanh vòng tròn phải pha trò. người thứ M này sau khi pha trò sẽ phải bước ra khỏi vòng, thu hẹp hàng ngũ lại. Cứ tiếp tục cho đến khi vòng tròn ko còn ai.
    Yêu cầu: nhập M , tìm thứ tự từng người bị loại ra khỏi trò chơi.
    Ví dụ: N=9, M=5
    Xuất ra màn hình: 5 1 7 4 3 6 9 2 8.
    Em thử làm rồi mà ko đc ko biết sai ở đâu hay sai hoan toàn em pót lên cho anh/chị sửa dùm nha:
    C Code:
    1. #include< stdio.h>
    2. void main()
    3. {   int i,m,n,dem,j,t; int a[100];
    4.     scanf("%d",&n);
    5.     scanf("%d",&m);
    6.     for(i=1;i<=n;i++)
    7.     {a[i]=i;}
    8.         for(dem=0,i=0;n>0||i<=n;)
    9.     {i++;
    10.         dem++;  if(i>n)
    11.         {i=1;
    12.         n--;}
    13.         if(dem>m) dem=1;
    14.  
    15.         if(dem==m) {printf("%ld",a[i]);
    16.     t=a[i];
    17.     a[i]=a[n];
    18.     a[n]=t;
    19.      for(j=i;j<=n-1;j++)
    20.      {   if(a[j]>a[j+1])
    21.          {
    22.     t=a[j];
    23.     a[j]=a[j+1];
    24.     a[j+1]=t;
    25.  
    26.          }
    27.      }   
    28.         }
    29.     }
    30. }

  2. #2
    Ngày gia nhập
    12 2006
    Bài viết
    9

    hic sao lâu quá mà không có ai giúp em vậy.

  3. #3
    Ngày gia nhập
    08 2006
    Nơi ở
    Hải Phòng
    Bài viết
    218

    Do thời gian không có nhiều nên mình không thể sửa code của bạn được, mình chỉ post lên phần bài làm của mình cho bài này thôi. Ý tưởng chính là tạo nên
    một danh sách vòng, sau đó tháo dần các phần tử của nó ra.
    PHP Code:
    #include "stdio.h"
    #define MAX 100
    int next[MAX];
    int lastcurrent;
    int nmij;
    void input()
     {
       
    printf("\nXin nhap vao n: ");scanf("%d",&n);
       
    printf("\nXin nhap vao m: ");scanf("%d",&m);
     }
    void init()
     {
       for(
    i=1i<=ni++) next[i]= i+1;//khoi tao danh sach gom n phan tu
       
    next[n]=1;                       //tuong trung cho n nguoi
                        //gia tri cua moi phan tu la dia chi
                        //phan tu sau no (tua kieu nguoi no
                        //cam tay nguoi tiep theo)
     
    }
    void main()
     {
      
    input(); //nhap vao input cua bai toan
         //o bai nay la so nguoi va so luot loai
      
    init();
      
    current=1// bien nay tuong trung cho nguoi hien tai ta dem den
      
    last=0// bien nay tuong trung cho nguoi truoc nguoi hien tai
      
    for(i=1i<=ni++) // thuc hien n lan
       
    {
         for(
    j=1j<mj++) // thuc hien m-1 lan
          
    {
        
    lastcurrent;
        
    currentnext[current]; // chuyen sang nguoi tiep theo
          
    }
         
    //da xac dinh duoc nguoi can loai bo
         
    printf("%d- ",current);
         
    currentnext[current];// loai bo nguoi do ra khoi danh sach
         
    next[last]= current;
       }
     } 

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

  1. Bài Trò chơi đoán số(trí tuệ nhân tạo)
    Gửi bởi minhtridang1211 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: 24-05-2013, 04:51 PM
  2. Bị cắn gần đứt lưỡi vì giở trò đồi bại
    Gửi bởi quynhcute 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: 20-09-2012, 06:10 PM
  3. Trò chơi ô chữ
    Gửi bởi hieuiph trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 28-09-2009, 10:08 PM
  4. Lập trình trò chơi đoán chữ Tiêng Việt(như trò chơi chiếc nón kỳ diệu trên VTV3)
    Gửi bởi friends_forever_5_11 trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 7
    Bài viết cuối: 19-12-2008, 12:22 AM

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