Liens utiles
TEST#1

#include <stddef.h>
#include <stdio.h>
void move_zeros(size_t len, int arr[len])
{
int tmp = 0;
for(size_t i = 0; i < len; i++) {
printf("%d - %d\\n", arr[i], arr[i+1]);
if(arr[i] < arr[i+1]) {
printf("cmp : %d - %d\\n", arr[i], arr[i+1]);
tmp = arr[i];
printf("tmp : %d\\n", tmp);
arr[i] = arr[i+1];
arr[i+1] = tmp;
printf("END FIRST-----------\\n");
}
if(arr[i] == 0 && arr[i] == arr[i+1]) {
printf("cmp : %d - %d\\n", arr[i], arr[i+1]);
tmp = arr[i];
printf("tmp : %d\\n", tmp);
arr[i] = arr[i+1];
arr[i+1] = tmp;
printf("END SECOND-----------\\n");
}
}
}
#TEST2
#include <stddef.h>
#include <stdio.h>
void move_zeros(size_t len, int arr[len])
{
size_t cursor = 0;
for(size_t i = 0; i < len; ++i) {
if(arr[i] != 0) {
arr[cursor++] = arr[i];
}
}
while(cursor < len) {
arr[cursor++] = 0;
}
}