Hi, I am

Ngô Tôn

I am a programmer.

Home / Programming / C/C++ / Kiểm tra dãy A có phải là con của dãy B không?

Kiểm tra dãy A có phải là con của dãy B không?

Yêu cầu:

Cho 2 dãy A, B các số nguyên (kích thước dãy A nhỏ hơn dãy B). Hãy kiểm tra xem A có phải là con của B hay không?

Thuật toán:

Code:

/************************************************************
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"

bool is_a_contain_b(int A[], int n, int B[], int m);

void main( void )
{
int A[] = {1, -2, 5, 6, 8, -9, 4, 5, 11, -7};
int B[] = {6, 8, -9, 4};
int n = sizeof(A)/sizeof(int);
int m = sizeof(B)/sizeof(int);
int k = 5;

if(is_a_contain_b(A, n, B, m))
printf("\nA contains B");
else
printf("\nA doesn't contain B");

getch();
}

//Check whether A contains B or not?\
//Return: true: if A contains B, otherwise return false.
bool is_a_contain_b(int A[], int n, int B[], int m)
{
int i, j, k;
bool res = false;
if(n < m)
return false;
for(i = 0; i < n; i++)
{
if(B[0] == A[i] && n - i >= m)
{
k = i + 1;
res = true;
for(j = 1; j < m; j++, k++)
{
if(B[j] != A[k])
{
res = false;
break;
}
}
if(res)
break;
}
}
return res;
}

Kết quả:

Yêu cầu: Cho 2 dãy A, B các số nguyên (kích thước dãy A nhỏ hơn dãy B). Hãy kiểm tra xem A có phải là con của B hay không? Thuật toán: Code: Kết quả: [crayon-5d13bb29b7381078216808/]

User Rating: 3.42 ( 3 votes)

About ngoton

Ngô Tôn is a programmer with passion for tailored software solutions. Comes with 6+ years of IT experience, to execute beautiful front-end experiences with secure and robust back-end solutions.

Check Also

Xây dựng hàm bạn để tính diện tích hình chữ nhật

Yêu cầu: Xây dựng hàm bạn để tính diện tích hình chữ nhật Code: Giải …

Leave a Reply

Your email address will not be published. Required fields are marked *