Bài toán
Cho mảng số nguyên, loại bỏ trùng lặp và in các phần tử distinct theo thứ tự tăng dần.
Ví dụ
Input: {4,6,5,3,4,5,2,8,7,0}
Sorted: {0,2,3,4,4,5,5,6,7,8}
Distinct: 0 2 3 4 5 6 7 8

Phương pháp
- Tìm các phần tử không trùng (so sánh với các phần tử sau)
- Lưu vào mảng mới array1
- Sắp xếp array1 (bubble sort đơn giản)
- In kết quả
Thuật toán
Bước 1: count=0
For i=0→size-1:
For j=i+1→size-1:
If array[i]==array[j] break
If j==size: array1[count++] = array[i]
Bước 2: Sắp xếp array1[0..count-1]
Bước 3: In array1
Mã nguồn C
#include <stdio.h>
void printDistinctElements(int array[], int size) {
int i, j, array1[size], temp, count=0;
for (i=0; i array1[j]) {
temp = array1[i];
array1[i] = array1[j];
array1[j] = temp;
}
for (i=0; i
Kết quả
0 2 3 4 5 6 7 8