Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.99 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int main()
  5. {
  6. int sluchay = 1, a = 10, b = 10, A[a][b], B[a][b], min, max, s, i, j;
  7. if(sluchay == 1)
  8. {
  9. for (i = 0; i < a; i++)
  10. {
  11. for (j = 0; j < b; j++)
  12. {
  13. A[i][j] = i * i - j * j;
  14. printf ("%d ", A[i][j]);
  15. }
  16. printf ("\n");
  17. }
  18. int *pa;
  19. pa = &A[0][0];
  20. f(pa, a, b, &s, &min, &max);
  21. }
  22. else
  23. {
  24. printf ("Matrix without saddle point\n");
  25. for (i = 0; i < a; i++)
  26. {
  27. for (j = 0; j < b; j++)
  28. {
  29. B[i][j] = rand();
  30. printf ("%d ", B[i][j]);
  31. }
  32. printf ("\n");
  33. }
  34. int *pb;
  35. pb = &B[0][0];
  36. f( pb, a, b, &s, &min, &max);
  37. }
  38.  
  39. }
  40.  
  41. int f(int *pa,int a, int b, int *s, int *min, int *max)
  42. {
  43. int i,j, A[a][b], index1, index2, pmin, pmax, flag = 0, flag2 = 0, m;
  44. *s=0;
  45. *min=*pa;
  46. *max=*pa;
  47. for (i = 0; i < a; i++)
  48. {
  49. for (j = 0; j < b; j++)
  50. {
  51. if ( *(pa + i * b + j) > *max)
  52. *max= *(pa + i * b + j);
  53. if ( *(pa + i * b + j) < *min)
  54. *min = *(pa + i * b + j);
  55. }
  56. }
  57. printf("\nmin = %d \nmax = %d\n", *min, *max);
  58.  
  59. for (i = 0; i < a; i++)
  60. {
  61. pmin = *(pa + i * b);
  62. index1 = 0;
  63. for (j = 0; j < b; j++)
  64. {
  65. if (*(pa + i * b + j) < pmin)
  66. {
  67. pmin = *(pa + i * a + j);
  68. index1 = j;
  69. }
  70. }
  71. flag = 1;
  72. for (m = 0; m < a; m++)
  73. {
  74. if (*(pa + m * b + j) > pmin)
  75. {
  76. flag = 0;
  77. break;
  78. }
  79. }
  80. if (flag == 1)
  81. {
  82. *s = pmin;
  83. printf ("saddle point = %d", *s);
  84. flag2 = 1;
  85. break;
  86. }
  87. }
  88. if (flag2 == 1)
  89. {
  90. return 0;
  91. }
  92. else
  93. {
  94. for (i = 0; i < a; i++)
  95. {
  96. pmax = *(pa + i * a);
  97. index2 = 0;
  98. for (j = 0; j < b; j++)
  99. {
  100. if (*(pa + i * b + j) > pmax)
  101. {
  102. pmax = *(pa + i * a + j);
  103. index2 = j;
  104. }
  105. }
  106. flag = 1;
  107. for (m = 0; m < a; m++)
  108. {
  109. if (pmax > *(pa + m * a + index2))
  110. {
  111. flag = 0;
  112. break;
  113. }
  114. }
  115. if (flag == 1)
  116. {
  117. *s = pmax;
  118. printf ("saddle point = %d", *s);
  119. flag2 = 1;
  120. break;
  121. }
  122. }
  123. }
  124. if (flag2 == 1)
  125. {
  126. printf("\nsaddle point = %d", *s);
  127. return 0;
  128. }
  129. else
  130. {
  131. printf ("NO SADDLE POINT\n");
  132. return 1;
  133. }
  134.  
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement