01/10/2018, 01:01
Bài tập mảng C++ nâng cao: In các phần tử trong 2 mảng A và B. Ae giúp đỡ?
Đề như vầy:
Nhập vào hai dãy số nguyên A 1 , A 2 , …, A n , và B 1 , B 2 , …, B m .
a) Xuất ra tập các số là hội của hai dãy A và B.
b) Xuất ra tập các số là giao của hai dãy A và B.
c) Xuất ra tập các số là hiệu của hai dãy A và B.
Ví dụ: A = {1, 2, 3, 4, 5} B = {4, 5, 6, 7, 8, 9}
a)Hội là có các phần tử của A và B: 1 2 3 4 5 6 7 8 9
b)Giao là các phần tử vừa thuộc A vừa thuộc B: 4 5
c)Hiệu là chỉ có ở A mà không có ở B: 1 2 3
=>A/e giúp nhé!
Bài liên quan
Thích hướng dẫn hay thích lấy code về xài =))
Hướng dẫn đi !
a)
Nhập mảng A có n phần tử
Nhập mảng B có m phần tử
Tạo mảng C có n+m phần tử
Tạo biến KichThuocHoi=0
Như vậy ta có mảng C bao gồm từ C[0] đến C[KichThuocHoi-1] là hội của A và B
b)
Nếu n<m thì tạo mảng D có n phần tử, không thì mảng D có m phần tử
(Giả sử n<m hay là A có ít phần tử hơn thì ta sẽ dò theo A)
Làm xong bước trên thì ta có tập D chứa giao của A và B, thực hiện sắp xếp và lọc phần tử trùng tương tự với mảng C ở câu A
c)
Tạo mảng E có kích thước n và tất cả các giá trị bằng 0;
Tạo mảng F có kích thước n và biến đếm mặc định k=0;
Cuối cùng là thực hiện sắp xếp và thu gọn mảng giống câu a)
Cảm ơn nhiều nhé !!!
Mình nhầm nhé Đoạn này dùng để loại bỏ các số trùng nhau khỏi dãy, phải thay bằng:
bạn học các thuật toán sắp xếp chưa?
rồi ! !!!
xài
set_union
,set_intersection
,set_difference
cho khỏe, khỏi mất công rặn óc