Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Xóa phần tử mảng trong khoảng chỉ số [L – R] trong C++


Khai báo mảng gốc, khoảng xóa L, R và tính độ dài mảng:

int arr[] = { 2,4,6,8,10,12,14,16,18,20 };
int L = 2, R = 6;
int length = sizeof(arr) / sizeof(arr[0]);

Duyệt mảng, chỉ giữ các phần tử có chỉ số ngoài khoảng [L, R] (tức i <= L hoặc i >= R), dịch chuyển về đầu mảng:

int k = 0;
for (int i = 0; i < length; i++) {
    if (i <= L || i >= R) {
        arr[k] = arr[i];
        k++;
    }
}

Ví dụ hoàn chỉnh

#include <iostream>
using namespace std;

int main() {
    int arr[] = { 2,4,6,8,10,12,14,16,18,20 };
    int L = 2, R = 6;
    int length = sizeof(arr) / sizeof(arr[0]);
    int k = 0;
    for (int i = 0; i < length; i++) {
        if (i <= L || i >= R) {
            arr[k] = arr[i];
            k++;
        }
    }
    length = k;
    for (int i = 0; i < length; i++)
        cout << arr[i] << " ";
    return 0;
}

Kết quả

2 4 6 14 16 18 20