Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static int[,][,] OnBlocks(int[,] Matrix)
- {
- //Верхний левый угол
- int NewSize = (int)Math.Sqrt(Matrix.Length) >> 1;
- int DefaultSize = (int)Math.Sqrt(Matrix.Length);
- int[,][,] ResultMatrix = new int[2, 2][,];
- var s1 = new int[NewSize,NewSize];
- var s2 = new int[NewSize,NewSize];
- var s3 = new int[NewSize,NewSize];
- var s4 = new int[NewSize,NewSize];
- for (int i = 0; i < DefaultSize >> 1; i++)
- {
- for (int j = 0; j < DefaultSize >> 1; j++)
- {
- s1[i, j] = Matrix[i, j];
- }
- }
- //Верхний правый угол
- for (int i = 0; i < DefaultSize >> 1; i++)
- {
- for (int j = DefaultSize >> 1; j < DefaultSize; j++)
- {
- s2[i, j - NewSize] = Matrix[i, j];
- }
- }
- //Нижний левый угол
- for (int i = DefaultSize >> 1; i < DefaultSize; i++)
- {
- for (int j = 0; j < (DefaultSize >> 1); j++)
- {
- s3[i - NewSize, j] = Matrix[i, j];
- }
- }
- //Нижнинй правый угол
- for (int i = DefaultSize >> 1; i < DefaultSize; i++)
- {
- for (int j = DefaultSize >> 1; j < DefaultSize; j++)
- {
- s4[i - NewSize, j - NewSize] = Matrix[i, j];
- }
- }
- ResultMatrix[0, 0] = s1;
- ResultMatrix[0, 1] = s2;
- ResultMatrix[1, 0] = s3;
- ResultMatrix[1, 1] = s4;
- return ResultMatrix;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement