Advertisement
catspaste

Programming Praxis - An Array Of Zeroes Solution

Nov 21st, 2014
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.50 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.    
  5.     int v[] = { 1,0,2,0,0,3,4 };
  6.    
  7.     int v_size = sizeof(v)/sizeof(v[0]);
  8.    
  9.     int p1 = 0;
  10.     int p2 = v_size-1;
  11.    
  12.     while(1){
  13.        
  14.         while(v[p2] == 0 && p2 >= 0) {
  15.             p2--;
  16.         }
  17.        
  18.         while(v[p1] != 0 && p1 < v_size) {
  19.             p1++;
  20.         }
  21.        
  22.         if(p2<=p1) {
  23.            
  24.             for(int i=0; i< v_size; i++){
  25.                 printf("%d ", v[i]);
  26.             }
  27.             printf("\n");
  28.            
  29.             break;
  30.         }
  31.        
  32.         if(v[p2] != 0 && v[p1] == 0) {
  33.             v[p1] = v[p2];
  34.             v[p2] = 0;
  35.         }      
  36.     }
  37.    
  38.     return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement