fork download
  1. #include <stdio.h>
  2.  
  3. void shift_positives(int values[], int num_values) {
  4. int left = 0;
  5. for (int right = 0; right < num_values; right++) {
  6. if (values[right] > 0) {
  7. values[left++] = values[right];
  8. }
  9. }
  10. while (left < num_values) {
  11. values[left++] = 0;
  12. }
  13. }
  14.  
  15. int main(void) {
  16. int data[] = {1,0,99,-1,-2,3,-5};
  17. shift_positives(data, 7);
  18. for (int i = 0; i < 7; i++) {
  19. printf("%d -> %d\n", i, data[i]);
  20. }
  21. return 0;
  22. }
Success #stdin #stdout 0s 2112KB
stdin
Standard input is empty
stdout
0 -> 1
1 -> 99
2 -> 3
3 -> 0
4 -> 0
5 -> 0
6 -> 0