30/09/2018, 16:13
GIúp đỡ về bài tập mảng 1 chiều
void ghepMang ( int a[], int &n, int b[], int &m )
{
int c[100];
int k = 0;
int Test = 1;
for ( int i = 0; i < n; i++ )
{
for ( int j = 0; j < m; j++ )
{
if ( a[i] == b[j] )
{
Test = 0;
break;
}
}
if ( Test == 1 )
{
c[k] = a[i];
k++;
}
}
int Test1 = 1;
for ( int p = 0; p < m; p++ )
{
for ( int q = 0; q < n; q++ )
{
if ( b[p] == a[q] )
{
Test1 = 0;
break;
}
}
if ( Test1 == 1 )
{
c[k] = b[p];
k++;
}
}
xuatMang ( c, k );
}
Đề bài: Ghép 2 mảng A, B vào mảng C sao cho C không có phần tử trùng của A, B
Em viết sai chỗ nào ạ ! Mong sự giúp đỡ gấp ! Em xin cảm ơn !
Bài liên quan
bạn có thể giải thích thuật toán của bạn ko?
A ngĩ e nên viết 1 hàm kiểm tra 1 số có tồn tại trog 1 mảng hay không, trả về 1 nếu tồn tại, 0 nếu k tồn tại;
Mã giả
for i=0 -> n
for j=0 - >m
if a[i]==b[j]
if(KiemTraTonTai(a[i],c)==0)
đưa a[i] vào c
else // tuc a[i]!=a[j]
if(KiemTraTonTai(a[i],c)==0)
đưa a[i] vào c
if(KiemTraTonTai(b[j],c)==0)
đưa b[j] vào c
Mình không cần quan tâm thuật toán của bạn là gì. Nhưng mình vẫn có thể chỉ ra chổ sai cho bạn. Bạn xem trong phần trích dẫn luôn nha.
OK .tks bạn Vậy thì mình hiểu r`