C 计算矩阵中的行和

C 计算矩阵中的行和,c,matrix,C,Matrix,行和部分不能正常工作。有什么建议吗? 同样,如果主对角线是i==j,那么相反的对角线是什么?我如何定义它 int main (void) { int A[5][5]; int B[5]; int x=0,sum=0; int n,m,i=0,j; printf("Enter rows and columns : \n"); scanf("%d %d",&n,&m); printf("Enter matrix

行和部分不能正常工作。有什么建议吗? 同样,如果主对角线是i==j,那么相反的对角线是什么?我如何定义它

int main (void) {
    int A[5][5];       
    int B[5];
    int x=0,sum=0;
    int n,m,i=0,j;

    printf("Enter rows and columns : \n");
    scanf("%d %d",&n,&m);
    printf("Enter matrix : \n");

    for (i = 0 ; i < n ; i++) {               
        for (j = 0 ; j < m ; j++) {
            scanf("%d",&A[i][j]);
        }
    }

    /* Sum of rows Problem */
    for(i = 0 ; i < n ; i++) {
        B[i] = 0;         
        for(j = 0 ; j < m ; j++) {
            B[i] = B[i] + A[i][j];
            ++i;        
        }
    }
    for(i = 0 ; i < n ; i++) {                        
        for(j = 0 ; j < m ; j++) {        
            printf("The sum of rows %d \n", B[j]);
        }
    }      
    return 0;
}
int main(无效){
INTA[5][5];
int B[5];
int x=0,sum=0;
int n,m,i=0,j;
printf(“输入行和列:\n”);
scanf(“%d%d”,&n,&m);
printf(“输入矩阵:\n”);
对于(i=0;i
实际上,您只需删除内部循环中的
++i
,程序就能正常运行

代码:

int main(无效){
INTA[5][5];
int B[5];
int x=0,sum=0;
int n,m,i=0,j;
printf(“输入行和列:\n”);
scanf(“%d%d”,&n,&m);
printf(“输入矩阵:\n”);
对于(i=0;i

回答你的第二个问题,相反的对角线是
i==size-j-1
if
size
是数组的大小

对不起,这里没有问题,而且你的代码非常混乱,我浪费了2分钟格式化它,你想问什么?你可以考虑相反的对角线!你为什么做
++i在内部循环中?是的,我忘了问你是什么启发了你,这背后的原因是什么?@iharob我有点学习矩阵,所以我试图获得一条关于对角线的信息,所以如果你不想分享你的智慧,好吧。这不是分享任何东西,只是如果你不懂矩阵,你就不应该尝试学习编程,无论如何,把你的代码格式化得更好,有人给了你一个答案,我认为是正确的,在系统允许的时候选择它。多谢老兄!你是最好的,直截了当。。爱死它了@如果你不知道“接受这个答案”是什么意思。
int main (void) {
    int A[5][5];       
    int B[5];
    int x=0,sum=0;
    int n,m,i=0,j;

    printf("Enter rows and columns : \n");
    scanf("%d %d",&n,&m);
    printf("Enter matrix : \n");

    for (i = 0 ; i < n ; i++) {               
        for (j = 0 ; j < m ; j++) {
            scanf("%d",&A[i][j]);
        }
    }

    /* Sum of rows Problem */
    for(i = 0 ; i < n ; i++) {
        B[i] = 0;         
        for(j = 0 ; j < m ; j++) {
            B[i] = B[i] + A[i][j];    //Removed the stray ++i from here.   
        }
    }
    for(i = 0 ; i < n ; i++)
    {                                
            printf("The sum of row %d is %d \n",i+1,B[i]);
    }      
    return 0;
}