#include <stdio.h>
#include <stdlib.h>
int *deduplicate_array(int *arr, int cells);
int main(void){
int *arr = malloc(sizeof(int)*10);
int i;
for(i = 0; i<10; i++){
arr[i] = 10;
}
arr = deduplicate_array(arr, 10);
printf("now print:\n");
for(i = 0; i<10; i++){
printf("%d\n", arr[i]);
}
return 0;
}
int *deduplicate_array(int *arr, int cells){
int i,k, count, final_count = 0;
for(i = 0; i<cells; i++){
for(count=0, k = i+1; k<cells; k++){
if(arr[i] == arr[k]){
count++;
}else{
arr[k-count] = arr[k];
}
}
final_count += count;
}
return (int *) realloc(arr, cells-final_count);
}
void reverse_bits(int x){
unsigned int mashuacher = 6752314;
unsigned int res = 0;
while(mashuacher){
res = mashuacher&1;
printf("%d", res);
mashuacher >>= 1;
res <<= 1;
}
}
Comments