Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. #include <stdio.h>
  2. void change ( int n, int m, int (*a)[m]);
  3. int main()
  4. {
  5. int *j, n, m;
  6. scanf ("%d%d", &m, &n);
  7. int a[n][m], (*i)[m];
  8. for( i=a; i<a+n; i++)
  9. for( j=*i; j<*i+m; j++)
  10. scanf ("%d", j);
  11. change (n, m, a);
  12. for( i=a; i<a+n; i++)
  13. {
  14. for( j=*i; j<*i+m; j++)
  15. printf ("%d ", *j);
  16. printf ("\n");
  17. }
  18. return 0;
  19. }
  20. void change ( int n, int m, int (*a)[m])
  21. {
  22. int *j, *min1, *min2, r, *k1,*k2;
  23. int (*i)[m];
  24. for( i=a; i<a+n; i++)
  25. for(j=*i;j<*i+m;j++)
  26. if (*j>0)
  27. min1=j;
  28. else
  29. min1=0;
  30. for( i=a; i<a+n; i++)
  31. for(j=*i;j<*i+m;j++)
  32. if (*j>0 && j!=min1)
  33. min2=j;
  34. else
  35. min2=0;
  36. if (*min1!=0 && *min2!=0)
  37. {
  38. for( i=a; i<a+n; i++)
  39. for(j=*i;j<*i+m;j++)
  40. if(*j<*min1 && *j>0)
  41. {
  42. *min1=*j;
  43. k1=*i;
  44. }
  45. for (i=a; i<a+n; i++)
  46. for( j=*i; j<*i+m; j++)
  47. if(*j < *min2 && *j>0 && *j!=*min1)
  48. {
  49. *min2=*j;
  50. k2=*i;
  51. }
  52. if( k1!=k2)
  53. {
  54. for( j=k1; j<k1+m; j++, k2++)
  55. {
  56. r=*j;
  57. *j=*k2;
  58. *k2=r;
  59. }
  60. }
  61. }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement