import std.stdio : writeln;
void main(string[] args)
{
int m=4, n=4;
int[][] matrix = [[0, 1, 0, 0], [1, 1, 1, 0], [0, 0, 0, 0], [1, 1, 0, 0]];
int mm=2, nn=2;
int sum;
for(int x=0; x<m; x+=mm)
for(int y=0; y<n; y+=nn)
sum += summation(matrix, x, y, mm, nn);
writeln(sum);
}
int summation(int[][] matrix, int offsetx, int offsety, int m, int n)
{
int sum;
for(int x=offsetx; x<offsetx+m; x++)
for(int y=offsety; y<offsety+n; y++)
sum += matrix[x][y];
return sum;
}
除非你在寻找别的东西?在解释你的要求时,你的问题很模糊。
(这在 D 中编译,因为它是我唯一可以访问 atm 的东西,所以使用它作为转换为 C++ 的指南)