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  

Hãy sử dụng FireFox để web hiển thị tốt hơn!


Share | 
 

 Liệt kê các hoán vị - (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 : 25
Đến từ : TPHCM

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

Fri May 13, 2011 2:48 pm » Liệt kê các hoán vị - (Phương pháp sinh)
Lập trình liệt kê các hoán vị của {1,2,3...,n} theo thứ tự từ điển
Ví dụ: n=3 ta liệt kê 6 hoán vị:
123
132
213
231
312
321

Code:
#include <stdio.h>
#include <conio.h>
#define MAX 8
void Hoandoi(int &A,int &B);
void main()
{
    int x[MAX],a,b,n,i,k,dem=1;
//===========Nhap
    do
    {
        printf("Nhap so n ( 0<n<%d): ",MAX);
        scanf("%d",&n);
    }while(n<1||n>MAX);
//===========Xuat
    for( i=0;i<n;i++)
        x[i]=i+1;
    while(i>=0)
    {
        printf("%2d. ",dem++);
        for(i=0;i<n;i++)
            printf("%d",x[i]);
        printf("\n");
        i=n-2;
        while(i>=0&&x[i]>x[i+1])
            i--;
        if(i>=0)
        {
            k=n-1;
            while(x[k]<x[i])
                k--;
            Hoandoi(x[k],x[i]);
            a=i+1;
            b=n-1;
            while(a<b)
                Hoandoi(x[a++],x[b--]);
        }
    }
    getch();
}
void Hoandoi(int &A,int &B)
{
    int temp=A;
    A=B;
    B=temp;
}


Tboy



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


Nam Tổng số bài gửi : 20
Cảm ơn : 22
Danh vọng : 0
Join date : 02/03/2011
Age : 27
Đến từ : Vũng Tàu

Bài gửiTiêu đề: Re: Liệt kê các hoán vị - (Phương pháp sinh)   Sat May 14, 2011 12:30 am

Sat May 14, 2011 12:30 am » Re: Liệt kê các hoán vị - (Phương pháp sinh)
giai thich dum dc ko doc ko hieu gi het


love_stormHL

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 : 25
Đến từ : TPHCM

Bài gửiTiêu đề: Re: Liệt kê các hoán vị - (Phương pháp sinh)   Sat May 14, 2011 3:04 pm

Sat May 14, 2011 3:04 pm » Re: Liệt kê các hoán vị - (Phương pháp sinh)
Tải cái ebook của Lê Minh Hoàng về mà xem!!!


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 hoán vị - (Phương pháp sinh)   

» Re: Liệt kê các hoán vị - (Phương pháp sinh)


Sponsored content

Về Đầu Trang Go down
 

Liệt kê các hoán vị - (Phương pháp sinh)

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
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-