Lamborghini Huracán LP 610-4 t

Lập Trình 321

HOME Anh Ngữ Dịch Vụ Kế Toán LẬP TRÌNH 321

Lập Trình C

Hoán Vị: tìm và in ra các hoán vị trong lập trình c

Hoán Vị: tìm và in ra các hoán vị trong lập trình c
#include "stdio.h"
#include "conio.h"
int a[100];
void tao(int n)//khởi tạo mảng ban đầu
{
  for (int i = 1; i <= n; i++) a[i - 1] = i;
}
void xuat(int n)//xuất mảng
{
  for (int i = 0; i < n; i++) printf("%d", a[i]);
  printf("\n");
}
void doi(int &a, int &b)//hàm đổi chổ 2 số
{
  int t = a;
  a = b;
  b = t;
}
void hoanvi(int n)//hàm in ra các hoán vị
{
  int i, j, l, m;
  xuat(n);//xuất ra cấu hình ban đầu
loop:;
  for (i = n - 1; i >= 0; i--) if (a[i] > a[i - 1]) break;
  /*tìm giá trị đầu tiên từ cuối cùng lên mà tại đó dãy số bắt đầu giảm dần
  lấy đực giá trị của i thì kết thúc luôn vòng lặp*/
  if (i > 0) for (j = n - 1; j >= i; j--) if (a[j] > a[i - 1])
    /*nếu vị trí đó là vị trí đầu tiên thì coi như đã in xong các hoán vị*/
    /*nếu không phải là vị trí đầu tiên tức là i>0 thì cho chạy vòng for
    tìm trong các số cuối cùng tính từ vị tí i ta tìm ở trên, số đầu tiên trong các số đó
    lớn hơn số hạng a[i-1], là số a[j] thì tiến hành các bước bên dưới:*/
  {
    doi(a[j], a[i - 1]);//đổi chổ 2 vị trí a[i-1] và a[j]
    for (m = i; m < n - 1; m++) for (l = m + 1; l < n;l++)//
    if (a[m]>a[l]) doi(a[l], a[m]);                       // sắp xếp các số cuối cùng tính từ vị trí i tăng dần
    xuat(n);// sắp xếp xong thì in ra 1 hoán vị tìm được
    break;//kết thúc vòng lặp nếu không nó sẽ làm tiếp gây ra sai kết quả
  }
  if (i != 0) goto loop;//nếu chưa in ra số hoán vị cuối cùng thì quay lên và tìm hoán vị tiếp theo
}
void main()
{
  int n;
  printf("nhập số số hạng cần tìm hoán vị, n=");
  scanf_s("%d", &n);
  tao(n);
  hoanvi(n);
}

<< Bài Viết Khác
This post has no comments - be the first one!

UNDER MAINTENANCE
Danh Mục Chính
Game Mobile Android
App Android Hay
Lập Trình C
Tiện Ích Online
Hình Ảnh Đẹp
Giải Trí Thư Giản
Kinh Nghiệm Thủ Thuật
Cung Hoàng Đạo
Truyện Ngắn Hay
Điện Thoại Bạn Có Chưa?
Xem Thêm >>
Bài Viết: >> Share To Facebook

giai tri , game mobile , app android, lap trinh c, kinh nghiem, truyen ngan

kết nối 1,game 3, Đồng hồ gỗ