Xóa phần tử trùng lặp trong mảng trong C
Trong bài tập này, mình sẽ viết một chương trình trong ngôn ngữ lập trình C để loại bỏ các phần tử trùng lặp trong một mảng.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
- Nhập vào một mảng số nguyên từ người dùng.
 - Loại bỏ các phần tử trùng lặp trong mảng.
 - In ra màn hình mảng sau khi loại bỏ các phần tử trùng lặp.
 
Chương trình xóa phần tử trùng lặp trong mảng trong C
Cách giải quyết bài lập trình
- Duyệt qua từng phần tử trong mảng.
 - Dùng một mảng mới để lưu trữ các phần tử duy nhất.
 - Nếu phần tử hiện tại chưa xuất hiện trong mảng mới, thêm phần tử đó vào mảng mới.
 - Cuối cùng, mảng mới sẽ chứa các phần tử duy nhất và không có phần tử trùng lặp.
 
Hãy xem cách giải như sau:
#include <stdio.h>
int main() {
    int arr[100], uniqueArr[100];
    int n, i, j, isUnique;
    printf("Nhập số phần tử của mảng: ");
    scanf("%d", &n);
    printf("Nhập các phần tử của mảng:\n");
    for (i = 0; i < n; i++) {
        printf("arr[%d] = ", i);
        scanf("%d", &arr[i]);
    }
    // Loại bỏ các phần tử trùng lặp
    int k = 0; // Chỉ số cho mảng mới
    for (i = 0; i < n; i++) {
        isUnique = 1;
        // Kiểm tra xem phần tử hiện tại đã xuất hiện trong mảng mới chưa
        for (j = 0; j < k; j++) {
            if (arr[i] == uniqueArr[j]) {
                isUnique = 0; // Phần tử trùng lặp
                break;
            }
        }
        // Nếu phần tử không trùng lặp, thêm vào mảng mới
        if (isUnique) {
            uniqueArr[k++] = arr[i];
        }
    }
    printf("Mảng sau khi loại bỏ các phần tử trùng lặp:\n");
    for (i = 0; i < k; i++) {
        printf("%d ", uniqueArr[i]);
    }
    printf("\n");
    return 0;
}
Kết quả chạy ra màn hình:
Bài viết này được đăng tại [free tuts .net]

Trên đây là cách viết một chương trình trong ngôn ngữ lập trình C để loại bỏ các phần tử trùng lặp trong một mảng. Chúc bạn thực hiện thành công!

            Các kiểu dữ liệu trong C ( int - float - double - char ...)        
            Thuật toán tìm ước chung lớn nhất trong C/C++        
            Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)        
            ComboBox - ListBox trong lập trình C# winforms        
            Random trong Python: Tạo số random ngẫu nhiên        
            Lệnh cin và cout trong C++        
                Cách khai báo biến trong PHP, các loại biến thường gặp            
                Download và cài đặt Vertrigo Server            
                Thẻ li trong HTML            
                Thẻ article trong HTML5            
                Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên            
                Cách dùng thẻ img trong HTML và các thuộc tính của img            
                Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng