Advertisement
Mihajlo_K

5.3 Длапки во матрица

Mar 19th, 2019
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.96 KB | None | 0 0
  1. /* За соседни елементи на еден елемент x во матрица се сметаат следните 4:
  2.  
  3. елементот кој се наоѓа точно над x
  4. елементот точно под x
  5. елементот лево од x
  6. елементот десно од x
  7. Длапка во матрица претставува елемент чија вредност е стриктно помала од вредноста на сите постоечки соседни елементи.
  8. На влез се дадени два цели броја, димензии на матрицата, m и n (m<=100, n<=100), и елементите на матрица со димензии mxn кои се цели броеви. Да се најдат и отпечатат вредностите на сите длапки во дадената матрица. Eлементите треба да се печатат по редослед на појавување од лево кон десно и одгоре-надолу.
  9.  
  10. Пример:
  11. _Влез:_                   _Излез:_
  12.                          
  13. 4 4                        0 7
  14. 3 3 1 1
  15. 6 4 0 2
  16. 8 3 3 9
  17. 7 8 8 9  */
  18.  
  19. #include <stdio.h>
  20. int main()
  21. {
  22.     int m, n, i, j;
  23.     scanf("%d%d", &m, &n);
  24.     int a[m][n];
  25.    
  26.     for(i = 0; i < m; i++)
  27.     {
  28.         for(j = 0; j < n; j++)
  29.         {
  30.             scanf("%d", &a[i][j]);
  31.         }
  32.     }
  33.     for(i = 0; i < m; i++)
  34.     {
  35.         for(j = 0; j < n; j++)
  36.         {
  37.             if(i == 0)
  38.             {
  39.                 if(j == 0)
  40.                 {
  41.                     if(a[i][j] < a[i][j+1]&&a[i][j] < a[i+1][j])
  42.                     {
  43.                         printf("%d ", a[i][j]);
  44.                     }
  45.                 }
  46.                 if(j == n-1)
  47.                 {
  48.                     if(a[i][j] < a[i][j-1]&&a[i][j] < a[i+1][j])
  49.                     {
  50.                         printf("%d ", a[i][j]);
  51.                     }
  52.                 }
  53.                 if(j != 0&&j != n-1)
  54.                 {
  55.                     if(a[i][j] < a[i][j-1] && a[i][j] < a[i+1][j] && a[i][j] < a[i][j+1])
  56.                     {
  57.                         printf("%d ", a[i][j]);
  58.                     }
  59.                 }
  60.             }
  61.             if(j == 0)
  62.             {
  63.                 if(i == m-1)
  64.                 {
  65.                     if(a[i][j] < a[i][j+1] && a[i][j] < a[i-1][j])
  66.                     {
  67.                         printf("%d ", a[i][j]);
  68.                     }
  69.                 }
  70.                 if(i != 0 && i != m-1)
  71.                 {
  72.                     if(a[i][j] < a[i-1][j] && a[i][j] < a[i][j+1] && a[i][j] < a[i+1][j])
  73.                     {
  74.                         printf("%d ", a[i][j]);
  75.                     }
  76.                 }
  77.             }
  78.             if(i == m-1)
  79.             {
  80.                 if(j == n-1)
  81.                 {
  82.                     if(a[i][j] < a[i-1][j] && a[i][j] < a[i][j-1])
  83.                     {
  84.                         printf("%d ", a[i][j]);
  85.                     }
  86.                 }
  87.                 if(j != 0 && j != n-1)
  88.                 {
  89.                     if(a[i][j] < a[i][j-1] && a[i][j] < a[i-1][j] && a[i][j] < a[i][j+1])
  90.                     {
  91.                         printf("%d ", a[i][j]);
  92.                     }
  93.                 }
  94.             }
  95.             if(j == n-1)
  96.             {
  97.                 if(i != 0 && i != m-1)
  98.                 {
  99.                     if(a[i][j] < a[i-1][j] && a[i][j] < a[i][j-1] && a[i][j] < a[i+1][j])
  100.                     {
  101.                         printf("%d ", a[i][j]);
  102.                     }
  103.                 }
  104.             }
  105.             if(i != 0 && j != 0 && i != m-1 && j != n-1)
  106.             {
  107.                 if(a[i][j] < a[i-1][j] && a[i][j] < a[i][j+1] && a[i][j] < a[i+1][j] && a[i][j] < a[i][j-1])
  108.                 {
  109.                     printf("%d ", a[i][j]);
  110.                 }
  111.             }
  112.         }
  113.     }
  114.     return 0;
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement