Kiểm tra mảng B có phải dãy con của mảng A hay không?
Ví dụ nhập mảng A là : 4 5 6 7
mảng B là : 5 6 7
kết quả cho là B là mảng con của A
#include<stdio.h> #include <conio.h> #include <iostream> using namespace std; int A[100],n,a; void Nhap(char ten,int A[],int &n) { do { int i; cout<<"Nhap so phan tu cua day:"; cin>>n; if(n <= 1 || n > 100) { cout<<"\nSo phan tu khong hop le. Xin kiem tra lai !"; } } while(n <= 1 || n > 100); for(int i=1;i<=n;i++) { cout<<ten<<"["<<i<<"]="; cin>>A[i]; } } void Xuat(char ten,int A[],int n) { cout<<"\nXuat:"; for(int i=1;i<=n;i++) cout<<ten<<"["<<i<<"]="<<A[i]<<endl; } int KiemTraMangBCoPhaiLaMangConCuaMangA(int A[], int B[], int n, int nb) { int i,j,check=0; for(i=1;i<=n;i++) { if(A[i]==B[1]) { int start = i; check=1; for(j=1;j<=nb;j++) { if(B[j]!=A[start++]) { check=0; break; } } if(check==1) { return check; } } } return check; } int main() { int nb,na; int B[100]; Nhap('A',A,n); Xuat('A',A,n); Nhap('B',B,nb); Xuat('B',B,nb); int check=KiemTraMangBCoPhaiLaMangConCuaMangA(A,B,n,nb); if(check!=1) { cout<<"\nMang B khong phai la mang con cua A"; } else {cout<<"\nMang B la mang con cua A";} getch(); }