Cách xóa này sẽ thực hiện dịch chuyển lùi các phần tử từ sau vị trị cần xóa sang phía bên trái để chèn qua phần tử cần xóa. Sau đó thực hiện giảm số lượng phần tử mảng đi 1 đơn vị.

Ví dụ có mảng: int arr[6] = {1,2,3,4,5,6};   

Sau khi xóa phần tử arr[2] đi thì mảng còn lại arr[5]={1,2,4,5,6}

Chương trình xóa phần tử trong mảng trong C/C++

#include <stdio.h>
int main(){
    //so luong phan tu mang
    int n = 6;
    //khai bao mang
    int arr[n] = {1,2,3,4,5,6};
    //vi tri can xoa trong mang
    int index = 3;
    //hien thi mang ban dau
    printf("MANG BAN DAU\n");
    for(int i = 0; i < n ; i++){
        printf("%d \t",arr[i]);
    }
    
    // Dich chuyen mang ve ben trai tu vi tri xoa
    for(int i = index; i < n - 1; i++){
        arr[i] = arr[i+1];
    }
    //sau khi xoa giam so luong phan tu mang
    n--;
    
    //hien thi mang sau khi xoa tai vi tri index = 3
    printf("\nMANG SAU KHI XOA TAI arr[%d]\n", index);
    for(int i = 0; i < n; i++){
        printf("%d \t",arr[i]);
    }
}

By alaza7

Leave a Reply

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