fork download
  1.  
  2.  
  3. i,j,m;f(d,o,n)int*d,*o;{for(i=n;i--;)for(m=d[!i],j=n;j;o[i]=m=--j^i&&d[j]<m?d[j]:m);}
  4.  
  5. int main( void )
  6. {
  7. struct
  8. {
  9. int* integer ;
  10. int count ;
  11. }
  12. d[] = {
  13. { ( int[] ){ 4 , 3 , 2 , 5 } , 4 } ,
  14. { ( int[] ){ 4 , 2 , 2 , 5 } , 4 } ,
  15. { ( int[] ){ 6 , 3 , 5 , 5 , 8 } , 5 } ,
  16. { ( int[] ){ 7 , 1 } , 2 } ,
  17. { ( int[] ){ 9 , 9 } , 2 } ,
  18. { ( int[] ){ 9 , 8 , 9 } , 3 } ,
  19. } ;
  20. const int c = sizeof( d ) / sizeof( d[0] ) ;
  21.  
  22. for( int p = 0 ; p < c ; p++ )
  23. {
  24. int out[d[p].count] ;
  25.  
  26. f( d[p].integer , out , d[p].count ) ;
  27.  
  28. for( int i = 0 ; i < d[p].count ; i++ )
  29. {
  30. printf( "%d " , out[i] ) ;
  31. }
  32. puts( "" );
  33. }
  34.  
  35. }
Success #stdin #stdout 0s 9432KB
stdin
Standard input is empty
stdout
2 2 3 2 
2 2 2 2 
3 5 3 3 3 
1 7 
9 9 
8 9 8