1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

Hoán vị

Thảo luận trong 'C/C++' bắt đầu bởi small ant, 8 Tháng một 2010.

  1. small ant Well-Known Member

    Số bài viết: 2,827
    Đã được thích: 88
    Điểm thành tích: 48
    Giới tính: Nữ
    Mã:
    /* Bai tap  - Liet ke tat cac cac hoan vi cua n phan tu */
    #include <stdio.h>
    #include<conio.h>
    #define MAX 10
    int mang[MAX], n;
    
    void swap (int *x, int *y)
    {
      int tmp;
      tmp = *x;
      *x = *y;
      *y = tmp;
    }
    
    void hoanvi(int k)
    {
      int j;
    
      if (k==1)
      {
        printf("\n");
        for (j=0; j<n; j++)
          printf("%d ", mang[j]);
      }
      else
        for (j=k-1; j>=0; j--)
        {
          swap(&mang[k-1], &mang[j]);
          hoanvi(k-1);
          swap(&mang[j], &mang[k-1]);
        }
    }
    
    void main()
    {
      int i;
    
      printf("\nCho biet so phan tu (N < 10) : ");
      scanf("%d", &n);
      for (i=0; i<n; i++)
        mang[i] = i;
      hoanvi(n);
      getch();
    }

Chia sẻ trang này