Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static bool IsPerfectSubArray(int[,] mat, int size)//Assignment #6
- {
- int sum = 0;
- for (int i = 0; i < size; i++)
- for (int j = 0; j < size; j++)
- {
- if (i == 0 || i == size - 1 || j == 0 || j == size - 1)
- sum += mat[i, j];
- else
- sum -= mat[i, j];
- }
- return sum == 0;
- }
- static int PerfectSubArrays(int[,] mat)//Assignment #6 Bonus
- {
- int SubArrayMaxSize = Math.Min(mat.GetLength(0), mat.GetLength(1));
- int PerfectSubArraysCounter = 0;
- for (int i = SubArrayMaxSize; i > 2; i--)
- for (int j = 0; j <= mat.GetLength(0) - i; j++)
- for (int k = 0; k <= mat.GetLength(1) - i; k++)
- {
- int[,] mat2 = new int[i, i];
- for (int p = 0; p < i; p++)
- for (int q = 0; q < i; q++)
- mat2[p, q] = mat[p+j, q+k];
- if (IsPerfectSubArray(mat2, i))
- PerfectSubArraysCounter++;
- }
- return PerfectSubArraysCounter;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement