Kiểm tra mảng a có phải là con của mảng b hay không

Em đang thắc mắc vì sao biến dem ++ bao nhiêu lần mà nó vẫn bằng 0, mời các cao nhân trợ giúp :V. Em cảm ơn :D.

#include <iostream>
using namespace std; 
void nhapmang (int a[100], int sl) { 
    cout << "\n nhap so luong phan tu: "; 
   cin >> sl; 
   for (int i =0; i<sl;i++) { 
    cout << "\n a["<<i<<"]= "; 
    cin >> a[i]; 
   }
}
void xuatmang (int a[100], int sl) { 
   for (int i = 0 ; i< sl;i++) { 
       cout << "\t a["<<i<<"]= " << a[i]; 
   }
}
int main () { 
   int a[100]; 
   int sla; 
   nhapmang (a,sla);
    int b[100]; 
      int slb; 
   nhapmang (b,slb);
   int dem=0; 
   for (int i = 0 ; i < sla;i++) { 
       for (int j =i; j < slb;j++) { 
           if (a[i]==b[j]) dem++; 
	   }
   }
   if (dem>=sla) cout << "\n mang a la con mang b"; 
   return 0; 
}

Ồ, bạn có biết dấu & khi khai báo hàm trong C++ là gì không?

4 Likes

Bạn thêm dòng

cout << sla <<slb;

sau đoạn nhập mảng sẽ hiểu lý do nhé.
Đoạn code kiểm tra mảng con cũng có vấn đề.

2 Likes

Truyền tham chiếu hoặc con trỏ biến sla, slb qua, chứ sao lại truyền tham trị.

1 Like

Vâng em quên mất cái tham chiếu, cảm ơn mọi người đã giúp :sunny:

Nhưng cho em hỏi là đoạn kiểm tra mảng con sai chỗ nào ạ?

Sao bạn không thử tạo ra vài case để test code của bạn sai ở đâu nhỉ?

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?