Bài 301: Cho biết mảng a có phải mảng mảng b 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]); } } int KiemTraMangACoPhaiLaMangConCuaMangB(int a[], int b[], int na, int nb) { int i, j, Check = 0; for(i = 0; i < nb; i++) // Duyệt mảng b coi { if(b[i] == a[0]) // Nếu mà thấy phần tử mảng b { // mà phần tử mảng a int Start = i; // bắt đầu đếm vị trí Check = 1; for(j = 0; j < na; j++) { if(a[j] != b[Start++]) // Kiểm tra coi có khác không ? { Check = 0; // Nếu có biến break; } } if(Check == 1) // hết vòng lặp mà khác { return Check; // Mảng a mảng b } } } return Check; } int main() { int na, nb; int a[MAX], b[MAX]; nhap(a, na); xuat(a, na); nhap(b, nb); xuat(b, nb); int Check = KiemTraMangACoPhaiLaMangConCuaMangB(a, b, na, nb); if(Check != 1) { printf("\nMang a khong la mang cua b!"); } else { printf("\nMang a la mang cua b"); } getch(); return 0; }