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

Xóa phần tử trùng lặp trong mảng C


Xóa các số trùng lặp, giữ lại phần tử duy nhất (unique).

Thuật toán

for i = 0 to n-1:
    for j = i+1 to n-1:
        if a[i] == a[j]:
            // dich trai cac phan tu sau j
            for k = j; k < n-1; k++:
                a[k] = a[k+1];
            j--; n--; // kiem tra lai vi tri j, giam kich thuoc

Chương trình

#include <stdio.h>
#include <stdlib.h>
int main() {
    int a[50], n, i, j, k;
    printf("Nhap kich thuoc mang: "); scanf("%d", &n);
    printf("Nhap cac phan tu: ");
    for (i=0; i

Kết quả

Nhap kich thuoc: 10
Nhap phan tu: 1 1 2 4 3 5 6 5 7 1
Mang goc: 1 1 2 4 3 5 6 5 7 1
Mang sau xoa trung: 1 2 4 3 5 6 7