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

Chèn phần tử vào mảng trong C


Có thể chèn phần tử tại bất kỳ vị trí: đầu, giữa, cuối mảng. Sau khi chèn, chỉ số các phần tử sau vị trí chèn tăng 1 (kích thước mảng không tự tăng, cần mảng đủ lớn).

Logic chèn phần tử

  • Nhập kích thước mảng
  • Nhập vị trí chèn (1-based)
  • Nhập giá trị cần chèn
// Dịch các phần tử từ cuối về sau vị trí chèn
for(i = size-1; i >= pos-1; i--)
    student[i+1] = student[i];
// Gán giá trị mới
student[pos-1] = value;

Chương trình hoàn chỉnh

#include <stdio.h>

int main() {
    int student[40], pos, i, size, value;
    
    printf("Nhập số phần tử mảng: ");
    scanf("%d", &size);
    printf("Nhập %d phần tử:\n", size);
    for(i = 0; i < size; i++)
        scanf("%d", &student[i]);
    
    printf("Vị trí chèn (1-%d): ", size+1);
    scanf("%d", &pos);
    printf("Giá trị chèn: ");
    scanf("%d", &value);
    
    // Dịch mảng
    for(i = size-1; i >= pos-1; i--)
        student[i+1] = student[i];
    student[pos-1] = value;
    
    printf("Mảng sau khi chèn:\n");
    for(i = 0; i <= size; i++)
        printf("%d\n", student[i]);
    
    return 0;
}

Kết quả chạy

Nhập số phần tử: 6
Nhập 6 phần tử: 12 23 34 45 56 67
Vị trí chèn: 3
Giá trị chèn: 48
Mảng sau khi chèn:
12
23
48
34
45
56
67