Liens utiles

TEST#1

Untitled

#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;
    }
}