[ C \ C++ ] Kiểm tra dãy con của một dãy số nguyên

/*
 Bài toán: Kiểm tra dãy a1 có phải là dãy con của day a hay không? (a1, a là mảng số nguyên. Ví dụ: a1[]= {1,2,3} là dãy con của dãy a[]={2,3,1,2,3,5,4,5}; a1[]={2,3,4} không phải là dãy con của dãy a[]={3,1,2,4,5,2,6})

 */
[Code C\C++]

#include<iostream.h>
#include<conio.h>
int a[100],a1[100],n,m;
void NhapDay(){
 // nhap day a
 cout<<"\n Nhap day a: \n";
 do{
cout<<"\n n= "; cin>>n;
if (n<1||n>100)
cout<<"\n Nhap lai n!";
 }while(n<1||n>100);
 for(int i=0;i<n;i++)
 {
cout<<"\n a["<<i<<"]= "; cin>>a[i];
 }
 // nhap day a1
 cout<<"\n Nhap day a1: \n";
 do{
cout<<"\n m= "; cin>>m;
if (m<1||m>n)
cout<<"\n Nhap lai m!";
 }while(m<1||m>n);
 for( i=0;i<m;i++)
 {
cout<<"\n a1["<<i<<"]= "; cin>>a1[i];
 }
}
// kiem tra day con
int TimDayCon(){
 int i,j,k;
 i=0;j=0;
 while (1){
  k=i;
  j=0;
  while (j<m){
if(a[i]==a1[j]&&i<n)
{
 i++;
 j++;
}
else
{
i=k+1;
break;
}
  }
  if (j>m-1) return 1;
  if (k>n-1) break;
 }
 return 0;
}
// ham chinh
void main(){
 NhapDay();
 if (TimDayCon()==1) cout<<"\n a1 la day con cua a";
 else cout<<"\n a1 khong phai day con cua a";
 getch();
}


[ Đề nghị các bạn chuyển sang các code khác như Java, C#, VB, Pascal,...]

[Tải Code Chương trình tại đây (Lưu ý: Sau 5s, click Bỏ qua quảng cáo - Skin Ad)]

0 nhận xét:

Cảm ơn bạn đã quan tâm tới bài viết này!