Guest User

Untitled

a guest
Jul 21st, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. void printif( int nall, int n, int printarray[] )
  4. {
  5. if( n > nall )
  6. return;
  7. int i;
  8. if( n == nall )
  9. {
  10. for( i = 1 ; i <= n ; i++ )
  11. printf( " " );
  12. printf( "writeln(" );
  13. int print = 0;
  14. for( i = 0 ; i < nall ; i++ )
  15. {
  16. if( print )
  17. printf( "," );
  18. print = 1;
  19. printf( "%c", 'a' + printarray[i] );
  20. }
  21. printf( ")\n" );
  22. return;
  23. }
  24.  
  25. int j;
  26. for( i = n ; i >= 0 ; i-- )
  27. {
  28. for( j = 1 ; j <= n ; j++ )
  29. printf( " " );
  30. if( i )
  31. {
  32. if( i == n )
  33. printf( "if " );
  34. else
  35. printf( "else if " );
  36. printf( "%c < %c then\n", 'a'+printarray[i-1], 'a'+n );
  37. }
  38. else
  39. {
  40. printf( "else\n");
  41. }
  42.  
  43. int new_printarray[10] = {0};
  44. for( j = 0 ; j < i ; j++ )
  45. new_printarray[j] = printarray[j];
  46. new_printarray[j] = n;
  47. for( j += 1; j <= n ; j++ )
  48. new_printarray[j] = printarray[j-1];
  49. printif( nall, n+1, new_printarray );
  50. }
  51. }
  52.  
  53. int main()
  54. {
  55. int M;
  56. while( scanf( "%d", &M ) != EOF )
  57. {
  58. int print = 0;
  59. while( M-- )
  60. {
  61. if( print )
  62. printf( "\n" );
  63. print = 1;
  64.  
  65. int n;
  66. scanf( "%d", &n );
  67. printf( "program sort(input,output);\nvar\n" );
  68.  
  69. int i;
  70. int comma = 0;
  71. for( i = 0 ; i < n ; i++ )
  72. {
  73. if( comma )
  74. printf( "," );
  75. comma = 1;
  76. printf( "%c", (char)('a'+i) );
  77. }
  78. printf( " : integer;\nbegin\n" );
  79. printf( " readln(" );
  80.  
  81. comma = 0;
  82. for( i = 0 ; i < n ; i++ )
  83. {
  84. if( comma )
  85. printf( "," );
  86. comma = 1;
  87. printf( "%c", (char)('a'+i) );
  88. }
  89. printf( ");\n" );
  90. int printarray[10] = {0};
  91. printif( n, 1, printarray );
  92. printf( "end.\n" );
  93. }
  94. }
  95.  
  96. return 0;
  97. }
Add Comment
Please, Sign In to add comment