两种方法:有空再详细说明
#include <iostream>
#include <iomanip>
using namespace std;
int sumOfArray_1(int** array, int m, int n){
int **a = new int*[m+1];
int **sum = new int*[m+1];
for(int i = 0 ; i <= m; ++i){
sum[i] = new int[n+1];
a[i] = new int[n+1];
memset(sum[i], 0, sizeof(int)*(n+1));
memset(a[i], 0, sizeof(int)*(n+1));
}
for(int i = 1 ; i <= m; ++i)
for(int j = 1; j <= n; ++j)
a[i][j] = *((int*)array+(i-1)*n + j-1);
for(int i = 1; i <= m; ++i){
for(int j = 1; j <= n ; ++j){
sum[i][j] = sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+a[i][j];
cout<<sum[i-1][j]<<'+'<<sum[i][j-1]<<'-'<<sum[i-1][j-1]<<"+"<