cho mình hỏi xóa nhiều phần tử trong mảng làm sao ạ
vd: mảng:int a[]={1,2,0,0,3,0,4,0,0,0} làm sao để xóa các phần tử 0 trong mảng.
Mảng 2 chiều trong c++
- Chép lại mảng, bỏ qua các phần tử thỏa điều kiện.
- Giờ hình dung thay vì bạn tạo mảng mới thì giờ chép đè lên mảng ban đầu
Với STL thì nên dùng remove_if trong <algorithm>.
3 Likes
Chắc kiểu như thế này (Mình sẽ dùng mã giả vì mình không giỏi C++ và cũng để bạn tự hình dung):
# Hàm main
function main
int a[]={1,2,0,0,3,0,4,0,0,0} # Input
for i =0;i < len(a);i++ do
# Nếu phần tử thứ i trong a = 0 thì bỏ phần tử đó
if a[i] == 0 then
a.remove(a[i])
end
print a # Output ra array a
end
2 Likes
Mình làm rồi ko đc bạn ơi nếu xóa 1 phần tử thì đc còn nhiều phần tử ko đc
Xóa xong thì biến chạy vẫn đứng tại vị trí đó.
Thêm i-- vào trong if là xong.
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?