#include <stdio.h>
static void print_arr(int arr[], int arr_size) {
for (int i = 0; i < arr_size; i++) {
printf("%2i", arr[i]);
}
printf("\n");
}
static int remove_duplicates(int arr[], int arr_size) {
if (arr_size <= 1) {
return arr_size;
}
int i = 0, j, count = 1;
while (i < arr_size) {
for (j = i + 1; j < arr_size && arr[i] == arr[j]; j++) {
printf("for: arr[%i]=%2i arr[%i]=%2i\n", i, arr[i], j, arr[j]);
}
if (j < arr_size) {
arr[count++] = arr[j];
print_arr(arr, arr_size);
}
i = j;
}
return count;
}
int main()
{
int arr[] = {1, 2, 3, 4, 4, 4, 5, 7, 8, 8, 8, 8, 9, 9};
int size = sizeof(arr)/sizeof(arr[0]);
int count = remove_duplicates(arr, size);
print_arr(arr, count);
return 0;
}
/*
run:
1 2 3 4 4 4 5 7 8 8 8 8 9 9
1 2 3 4 4 4 5 7 8 8 8 8 9 9
1 2 3 4 4 4 5 7 8 8 8 8 9 9
for: arr[3]= 4 arr[4]= 4
for: arr[3]= 4 arr[5]= 4
1 2 3 4 5 4 5 7 8 8 8 8 9 9
1 2 3 4 5 7 5 7 8 8 8 8 9 9
1 2 3 4 5 7 8 7 8 8 8 8 9 9
for: arr[8]= 8 arr[9]= 8
for: arr[8]= 8 arr[10]= 8
for: arr[8]= 8 arr[11]= 8
1 2 3 4 5 7 8 9 8 8 8 8 9 9
for: arr[12]= 9 arr[13]= 9
1 2 3 4 5 7 8 9
*/