Advertisement
Guest User

Untitled

a guest
May 30th, 2015
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. static bool IsPerfectSubArray(int[,] mat, int size)//Assignment #6
  2. {
  3. int sum = 0;
  4. for (int i = 0; i < size; i++)
  5. for (int j = 0; j < size; j++)
  6. {
  7. if (i == 0 || i == size - 1 || j == 0 || j == size - 1)
  8. sum += mat[i, j];
  9. else
  10. sum -= mat[i, j];
  11. }
  12. return sum == 0;
  13. }
  14. static int PerfectSubArrays(int[,] mat)//Assignment #6 Bonus
  15. {
  16. int SubArrayMaxSize = Math.Min(mat.GetLength(0), mat.GetLength(1));
  17. int PerfectSubArraysCounter = 0;
  18. for (int i = SubArrayMaxSize; i > 2; i--)
  19. for (int j = 0; j <= mat.GetLength(0) - i; j++)
  20. for (int k = 0; k <= mat.GetLength(1) - i; k++)
  21. {
  22. int[,] mat2 = new int[i, i];
  23. for (int p = 0; p < i; p++)
  24. for (int q = 0; q < i; q++)
  25. mat2[p, q] = mat[p+j, q+k];
  26. if (IsPerfectSubArray(mat2, i))
  27. PerfectSubArraysCounter++;
  28. }
  29. return PerfectSubArraysCounter;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement