Advertisement
Guest User

5

a guest
Nov 23rd, 2014
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.33 KB | None | 0 0
  1.    
  2. #include "stdafx.h"
  3. #include "conio.h"
  4. #include "stdio.h"
  5. #include "iostream"
  6.  
  7.  
  8.  
  9. int Max_after_zero(int i, int *dig, int n);
  10. int Min_after_zero(int i, int *dig, int n);
  11. int zero(int p, int n, int *dig);
  12. void swap(int *max, int *min);
  13. void Output(int n, int *dig);
  14.  
  15.  
  16.  
  17.  
  18.  
  19. void main()
  20. {
  21. int n, Max, Min, p=0, Zero;
  22. int *dig;
  23.  
  24. printf("input n=\n");
  25. scanf_s("%d", &n);
  26.  
  27. dig = (int*)malloc(n*sizeof(int));
  28.  
  29. for (int i = 0; i < n; i++)
  30. {
  31. scanf_s("%d", dig + i);
  32. }
  33.  
  34. Zero=zero( p, n, dig);
  35. Max = Max_after_zero(Zero,dig,n);
  36. Min = Min_after_zero(Zero, dig, n);
  37. swap(dig+Max, dig+Min);
  38. Output( n, dig);
  39.  
  40. _getch();
  41. }
  42.  
  43.  
  44.  
  45.  
  46.  
  47. int Max_after_zero(int i, int *dig, int n)
  48. {
  49. int j, maxJ;
  50. int max = *(dig + i);
  51.  
  52. for (j = i; j < n; j++)
  53. {
  54. if (max < *(dig + j))
  55. {
  56. max = *(dig + j);
  57. maxJ = j;
  58. }
  59. }
  60.  
  61. return maxJ;
  62. }
  63.  
  64.  
  65.  
  66.  
  67.  
  68. int Min_after_zero(int i, int *dig, int n)
  69. {
  70. int j, minJ;
  71. int min = *(dig + i);
  72.  
  73. for (j = i; j < n; j++)
  74. {
  75. if (min > *(dig + j))
  76. {
  77. min = *(dig + j);
  78. minJ = j;
  79. }
  80. }
  81.  
  82. return minJ;
  83. }
  84.  
  85. int zero(int p, int n, int *dig)
  86. {
  87.  
  88. for (int i = 0; i < n; i++)
  89. {
  90. if (*(dig + i) == p)
  91. return i;
  92. }
  93.  
  94. }
  95.  
  96.  
  97.  
  98.  
  99. void swap(int *max, int *min)
  100. {
  101. int c = *max;
  102. *max = *min;
  103. *min = c;
  104. }
  105.  
  106.  
  107.  
  108.  
  109. void Output(int n, int *dig)
  110. {
  111. for (int i = 0; i < n; i++)
  112. {
  113. printf("%d\n ", *(dig + i));
  114. }
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement