Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.



 
Trang ChínhTrang Chính  Tìm kiếmTìm kiếm  Latest imagesLatest images  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share | 
 

 Liệt kê các tập con k phần tử - (Phương pháp sinh)

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Tboy
Cá voi
Cá voi
Tboy


Nam Tổng số bài gửi : 178
Cảm ơn : 413
Danh vọng : 4
Join date : 03/01/2011
Age : 32
Đến từ : TPHCM

Liệt kê các tập con k phần tử - (Phương pháp sinh) Empty
Bài gửiTiêu đề: Liệt kê các tập con k phần tử - (Phương pháp sinh)   Liệt kê các tập con k phần tử - (Phương pháp sinh) EmptyFri May 13, 2011 2:45 pm

Liệt kê các tập con k phần tử - (Phương pháp sinh) Titleb10 Fri May 13, 2011 2:45 pm » Liệt kê các tập con k phần tử - (Phương pháp sinh) Liệt kê các tập con k phần tử - (Phương pháp sinh) Titleb13
Lập chương trình liệt kê các tập con có k phần tử từ tập hợp {1,2,....,n}
Số tập con cần liệt kê là tổ hợp chập k của n

Code:
#include <stdio.h>
#include <conio.h>
#define MAX 8
void main()
{
    int a[MAX],n,k,i,j,d=1;
//===========Nhap
    do
    {
        printf("Nhap n ( 0<n<%d): ",MAX);
        scanf("%d",&n);
    }while(n<1||n>MAX);
    do
    {
        printf("Nhap k ( 0<k<%d): ",n);
        scanf("%d",&k);
    }while(k<1||k>n);
//===========Xuat
    printf("Cac tap hop con:\n");
    for( i=0;i<k;)
        a[i]=++i;
    /*    for( i=0;i<k;i++)
        a[i]=i+1; */
    while(i>=0)
    {
        printf("%2d. ( ",d++);
        for(i=0;i<k;i++)
        {
            printf("%d",a[i]);
            if(i<k-1)
                printf(", ");
        }
        printf(")\n");
        i=k-1;
        while(i>=0&&a[i]==n-k+i+1) 
            i--;
        if(i>=0)
        {
            a[i]++;
            for( j=i+1;j<k;j++)
                a[j]=a[j-1]+1;
        }
    }
    getch();
}


Tboy

Liệt kê các tập con k phần tử - (Phương pháp sinh) Border10 Liệt kê các tập con k phần tử - (Phương pháp sinh) Border14
Về Đầu Trang Go down
https://taplaptrinh.forumvi.com
thanhhuynh
Trứng vịt
Trứng vịt
thanhhuynh


Tổng số bài gửi : 1
Cảm ơn : 1
Danh vọng : 0
Join date : 02/06/2011

Liệt kê các tập con k phần tử - (Phương pháp sinh) Empty
Bài gửiTiêu đề: Re: Liệt kê các tập con k phần tử - (Phương pháp sinh)   Liệt kê các tập con k phần tử - (Phương pháp sinh) EmptyThu Jun 02, 2011 9:04 am

Liệt kê các tập con k phần tử - (Phương pháp sinh) Titleb10 Thu Jun 02, 2011 9:04 am » Re: Liệt kê các tập con k phần tử - (Phương pháp sinh) Liệt kê các tập con k phần tử - (Phương pháp sinh) Titleb13
Bạn check lại dùm thử sao nó chạy miệt mài ko có điểm dừng :)


thanhhuynh

Liệt kê các tập con k phần tử - (Phương pháp sinh) Border10 Liệt kê các tập con k phần tử - (Phương pháp sinh) Border14
Về Đầu Trang Go down
Tboy
Cá voi
Cá voi
Tboy


Nam Tổng số bài gửi : 178
Cảm ơn : 413
Danh vọng : 4
Join date : 03/01/2011
Age : 32
Đến từ : TPHCM

Liệt kê các tập con k phần tử - (Phương pháp sinh) Empty
Bài gửiTiêu đề: Re: Liệt kê các tập con k phần tử - (Phương pháp sinh)   Liệt kê các tập con k phần tử - (Phương pháp sinh) EmptyThu Jun 02, 2011 12:00 pm

Liệt kê các tập con k phần tử - (Phương pháp sinh) Titleb10 Thu Jun 02, 2011 12:00 pm » Re: Liệt kê các tập con k phần tử - (Phương pháp sinh) Liệt kê các tập con k phần tử - (Phương pháp sinh) Titleb13
Mình chạy = C-free thấy nó chạy được mà!!! Để coi lại, ko bik VC++ 6.0 thì thế nào


Tboy

Liệt kê các tập con k phần tử - (Phương pháp sinh) Border10 Liệt kê các tập con k phần tử - (Phương pháp sinh) Border14


Được sửa bởi Tboy ngày Thu Jun 02, 2011 12:36 pm; sửa lần 1.
Về Đầu Trang Go down
https://taplaptrinh.forumvi.com
Tboy
Cá voi
Cá voi
Tboy


Nam Tổng số bài gửi : 178
Cảm ơn : 413
Danh vọng : 4
Join date : 03/01/2011
Age : 32
Đến từ : TPHCM

Liệt kê các tập con k phần tử - (Phương pháp sinh) Empty
Bài gửiTiêu đề: Re: Liệt kê các tập con k phần tử - (Phương pháp sinh)   Liệt kê các tập con k phần tử - (Phương pháp sinh) EmptyThu Jun 02, 2011 12:34 pm

Liệt kê các tập con k phần tử - (Phương pháp sinh) Titleb10 Thu Jun 02, 2011 12:34 pm » Re: Liệt kê các tập con k phần tử - (Phương pháp sinh) Liệt kê các tập con k phần tử - (Phương pháp sinh) Titleb13
Liệt kê các tập con k phần tử - (Phương pháp sinh) 73132 Mình chạy thử bằng VC++ 6.0 ruj`

Code:
//===========Xuat
    printf("Cac tap hop con:\n");
    for( i=0;i<k;)
        a[i]=++i;
    /*    for( i=0;i<k;i++)
        a[i]=i+1; */

Theo lý thuyết thì viết như vầy cũng ok nhưng mà chạy bằng VC++ 6.0 thì nó chạy hoài lun. Nên bạn dùng đoạn nhập mảng dưới thôi.
Code:
printf("Cac tap hop con:\n");
        for( i=0;i<k;i++)
        a[i]=i+1;


Tboy

Liệt kê các tập con k phần tử - (Phương pháp sinh) Border10 Liệt kê các tập con k phần tử - (Phương pháp sinh) Border14
Về Đầu Trang Go down
https://taplaptrinh.forumvi.com
Sponsored content




Liệt kê các tập con k phần tử - (Phương pháp sinh) Empty
Bài gửiTiêu đề: Re: Liệt kê các tập con k phần tử - (Phương pháp sinh)   Liệt kê các tập con k phần tử - (Phương pháp sinh) Empty

Liệt kê các tập con k phần tử - (Phương pháp sinh) Titleb10 » Re: Liệt kê các tập con k phần tử - (Phương pháp sinh) Liệt kê các tập con k phần tử - (Phương pháp sinh) Titleb13


Sponsored content

Liệt kê các tập con k phần tử - (Phương pháp sinh) Border10 Liệt kê các tập con k phần tử - (Phương pháp sinh) Border14
Về Đầu Trang Go down
 

Liệt kê các tập con k phần tử - (Phương pháp sinh)

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 

 Similar topics

-
» Liệt kê dãy nhị phân có độ dài n - (Phương pháp sinh)
» Liệt kê các hoán vị - (Phương pháp sinh)
» Thập phân sang nhị phân-(Đệ quy)
» Phương thức tự động
» Nộp hình đăng ký Hội sinh viên (gấp)
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
 :: Cơ sở lập trình 2 :: Bài tập khác-