Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 将矩阵传递给函数并计算每行的和_C_Matrix - Fatal编程技术网

C 将矩阵传递给函数并计算每行的和

C 将矩阵传递给函数并计算每行的和,c,matrix,C,Matrix,如何将矩阵传递给函数并计算每行的和? 这是我创建的函数,但是 我被困在这里了。请帮帮我 #include <stdio.h> #define row 4 #define col 4 int Schum(int A[row][col]){ int sum, i, j; for (i=0; i<row; i++){ sum = 0; for (j=0; j<col; j++){ sum += A[i]

如何将矩阵传递给函数并计算每行的和? 这是我创建的函数,但是 我被困在这里了。请帮帮我

#include <stdio.h>
#define row 4
#define col 4

int Schum(int A[row][col]){
    int sum, i, j;
    for (i=0; i<row; i++){
        sum = 0;
        for (j=0; j<col; j++){
            sum += A[i] [j];  
        }
    } 
    return sum;  
}

int main(){
    int A[row] [col], i, j, sum;
    for (i=0; i<row; i++){
        for (j=0; j<col; j++){
            printf("Enter number in [%d][%d]: ", i, j);
            scanf("%d", &A[i] [j]);
        }
    }

    for (i=0; i < row; i++){
        for(j=0; j < col; j++){
            printf("[%d][%d]: %d\t", i, j, A[i][j]); 
            sum = Schum(A);
        } 
        printf("Sum of row%d: %d\n", i+1, sum);
    }
}
#包括
#定义第4行
#定义第4列
int Schum(int A[行][col]){
整数和,i,j;

对于(i=0;i您的Schum函数不正确。您不需要遍历矩阵的所有元素来查找给定行的和。您还错误地从main()为矩阵的每个元素调用了Schum函数。每行只能调用一次。

您的Schum函数不正确。您不需要遍历矩阵的所有元素来查找给定行的和。您还错误地从main()为矩阵的每个元素调用了Schum函数。每行只能调用一次。

这里是一个。传递要对其列求和的行号,并在列迭代之外但在行迭代之内调用Schum函数,就足以实现您的目标

#include <stdio.h>
#define row 4
#define col 4

int Schum(int A[row][col], int rowParam){
  int sum = 0, j;
  for (j = 0; j < col; j++){
    sum += A[rowParam][j];  
  }

  return sum;
}

int main(){ 
  int A[row][col], i, j, sum;

  for (i=0; i < row; i++){
    for (j=0; j < col; j++){
      printf("Enter number in [%d][%d]: ", i, j);
      scanf("%d", &A[i][j]);
    }
  }

  for (i=0; i < row; i++){
    for(j=0; j < col; j++){
      printf("[%d][%d]: %d\t", i, j, A[i][j]); 
    } 

    sum = Schum(A, i);
    printf("Sum of row%d: %d\n", i+1, sum);
  }
}
#包括
#定义第4行
#定义第4列
int Schum(int A[行][col],int rowParam){
整数和=0,j;
对于(j=0;j
这里就是一个。传递要对其列求和的行号,并在列迭代之外但在行迭代之内调用Schum函数,就足以实现您的目标

#include <stdio.h>
#define row 4
#define col 4

int Schum(int A[row][col], int rowParam){
  int sum = 0, j;
  for (j = 0; j < col; j++){
    sum += A[rowParam][j];  
  }

  return sum;
}

int main(){ 
  int A[row][col], i, j, sum;

  for (i=0; i < row; i++){
    for (j=0; j < col; j++){
      printf("Enter number in [%d][%d]: ", i, j);
      scanf("%d", &A[i][j]);
    }
  }

  for (i=0; i < row; i++){
    for(j=0; j < col; j++){
      printf("[%d][%d]: %d\t", i, j, A[i][j]); 
    } 

    sum = Schum(A, i);
    printf("Sum of row%d: %d\n", i+1, sum);
  }
}
#包括
#定义第4行
#定义第4列
int Schum(int A[行][col],int rowParam){
整数和=0,j;
对于(j=0;j