0

2次元の正方行列の右側にある要素の合計を計算する関数をCで作成しようとしています。(以下のコメントの1つの要素のみ)これまでのところ、これはありますが、マトリックス全体の要素の合計を計算するため、正しくありません。

  #define N 5
  int a[N][N] ={{0,0,0,0,1},
                {0,0,0,1,1},
                {0,0,1,1,1},
                {0,1,1,1,1},
                {1,1,1,1,1}};


 /*
    {0,0,0,0,1},
    {0,0,0,1,1},
    {0,0,1,1,1},
    {0,1,1,1,1},
    {1,1,1,1,1},
    sum =
                                            a[0][4] + 
                                  a[1][3] + a[1][4] + 
                        a[2][2] + a[2][3] + a[2][4] + 
              a[3][1] + a[3][2] + a[3][3] + a[3][4] +
    a[4][0] + a[4][1] + a[4][2] + a[4][3] + a[4][4]
    */

    int sumSndBisRight(int a[N][N]) {
          int i, j, sum = 0, k = N - 1;
          for( i = 0;i < N;i++) 
              for( j = (N - 1);j >= 0;j--)          
                           sum += a[i][j];          
          return sum;  
    }
    void main() {
    int sum;
    sum = sumSndBisRight(a);
    printf("%d", sum);
    }

よろしくお願いします。

4

1 に答える 1

1

変化する

for( j = (N - 1);j >= 0;j--)

for( j = N-1-i; j < N; j++)
于 2012-11-19T11:50:11.590 に答える