Trang ChínhTrang Chính  CalendarCalendar  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đă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
avatar


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

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

Fri May 13, 2011 2:45 pm » Liệt kê các tập con k phần tử - (Phương pháp sinh)
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



Về Đầu Trang Go down
Xem lý lịch thành viên http://taplaptrinh.forumvi.com
thanhhuynh
Trứng vịt
Trứng vịt
avatar


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

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

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)
Bạn check lại dùm thử sao nó chạy miệt mài ko có điểm dừng :)


thanhhuynh

Về Đầu Trang Go down
Xem lý lịch thành viên
Tboy
Cá voi
Cá voi
avatar


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

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

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)
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





Đượ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
Xem lý lịch thành viên http://taplaptrinh.forumvi.com
Tboy
Cá voi
Cá voi
avatar


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

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

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)
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



Về Đầu Trang Go down
Xem lý lịch thành viên http://taplaptrinh.forumvi.com
Sponsored content




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

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


Sponsored content

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

-
» Cơ hội sinh lời cao tại Khu Biệt thự Oasis,Bình Dương
» Bán đất 2 mặt tiền đường Nguyễn Sinh Sắc Đà Nẵng,khu Tây Bắc
» -0936175427-Vệ sinh máy lạnh tại nhà quận 8,THẾ VINH UY TÍN call:0862786708,Thay thế block máy lạnh giá rẽ quận 8,Vệ sinh máy lạnh tại nhà quận 8,Vệ sinh máy lạnh tại nhà quận 8,Vệ sinh máy lạnh tại n
» -0936175427-Vệ sinh máy lạnh tại nhà quận 5,THẾ VINH UY TÍN call:0862786708,Thay thế block máy lạnh giá rẽ quận 5,Vệ sinh máy lạnh tại nhà quận 5,Vệ sinh máy lạnh tại nhà quận 5,Vệ sinh máy lạnh tại n
» 0866839853-Vệ sinh máy lạnh quận 2--0979212966--Sạc ga máy lạnh quận 2-ĐL AN PHÚC THỊNH)Vệ sinh máy lạnh quận 2,Vệ sinh máy lạnh quận 2,Vệ sinh máy lạnh quận 2,Vệ sinh máy lạnh quận 2,Vệ sinh máy lạnh
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-