1. Trang chủ
  2. » Công Nghệ Thông Tin

Cho 2 mảng a, b hãy cho biết mảng b có phải là hoán vị của mảng a không

4 997 11

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 30,26 KB

Nội dung

Bài 260: Cho mảng a, b Hãy cho biết mảng b có phải hoán vị mảng a không #include #include #include #define MAX 100 void nhap (int a[], int &n) { { printf("\nNhap so phan tu: "); scanf("%d", &n); if(n MAX) { printf("\nSo phan tu khong hop le Xin kiem tra lai !"); } }while(n MAX); for(int i = 0; i < n; i++) { printf("\nNhap a[%d]: ", i); scanf("%d", &a[i]); } } void xuat(int a[], int n) { for(int i = 0; i < n; i++) { printf("%4d", a[i]); } } /* Khái niệm hoán vị diễn tả ý tưởng đối tượng phân biệt xếp theo thứ tự khác Ví dụ, với số từ đến sáu, cách thứ tự tạo thành dãy số không lặp lại Một hoán vị là: "3, 4, 6, 1, 2, 5" */ void HoanVi(int &a, int &b) { int temp = a; a = b; b = temp; } void SapXepTangDan(int a[], int n) { for(int i = 0; i < n - 1; i++) { for(int j = i + 1; j < n; j++) { if(a[i] > a[j]) { HoanVi(a[i], a[j]); } } } } void KiemTraBCoPhaiLaHoanViCuaA(int a[],int b[], int na, int nb) { if(na != nb) { printf("\nKhong phai"); // Số lượng phần tử phải return; } SapXepTangDan(a, na); // Sắp xếp mảng a SapXepTangDan(b, nb); // Sắp xếp mảng b for(int i = 0; i < na; i++) { if(a[i] != b[i]) { printf("\nKhong phai"); return; } } printf("\nPhai"); return; } int main() { int na, nb; int a[MAX], b[MAX]; nhap(a, na); xuat(a, na); nhap(b, nb); xuat(b, nb); KiemTraBCoPhaiLaHoanViCuaA(a, b, na, nb); getch(); return 0; }

Ngày đăng: 20/10/2016, 20:15

w