Advertisement
Guest User

Untitled

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