SIMPLE
STRING
ARRAY
SORTING
POINTER
CALCULATION
NUMBER
OTHER
C
BÀI TẬP C
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

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.

test php

banquyen png
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]

Screenshot 202024 03 13 20173223 png

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ùng chuyên mục:

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý chuỗi (string.h) trong C/C++

Các hàm xử lý chuỗi (string.h) trong C/C++

Thread Pools và Parallel Algorithms trong C++

Thread Pools và Parallel Algorithms trong C++

Tạo và quản lý các Multithreading trong C++

Tạo và quản lý các Multithreading trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Try, Catch, và Throw của Exception Handling trong C++

Try, Catch, và Throw của Exception Handling trong C++

Cách sử dụng Lambda Expressions trong C++

Cách sử dụng Lambda Expressions trong C++

Sử dụng weak_ptr trong C++

Sử dụng weak_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng unique_ptr trong C++

Sử dụng unique_ptr trong C++

Tổng quan về Smart Pointers trong C++

Tổng quan về Smart Pointers trong C++

Sử dụng Iterators trong STL của C++

Sử dụng Iterators trong STL của C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng trong List trong C++

[Iterator] Sử dụng trong List trong C++

[STL] Sử dụng Vector trong C++

[STL] Sử dụng Vector trong C++

Tổng quan về Iterators trong C++

Tổng quan về Iterators trong C++

[STL] Các hàm thường dùng của lớp Vector trong C++

[STL] Các hàm thường dùng của lớp Vector trong C++

Top