【发布时间】:2020-04-21 00:52:22
【问题描述】:
我想构造一个以矩阵作为输入的函数,然后计算所有行(或列)的平均值。我试图这样做,但它给了我一堆错误。
#include <stdio.h>
#include <stdlib.h>
int sum_rows[1000], sum_columns[1000], mean_row[1000], mean_column[1000], N, A[100][100], i, j;
void values(int A[N][N]) {
for (i=0; i<N; ++i) {
for (j=0; j<N; ++j) {
A[i][j] = (rand()%61+20);
}
}
}
void mean_r (int A[N][N]) {
for (i=0; i<N; ++i) {
sum_row[i] = 0;
for (j=0; j<N; ++j) {
sum_row[i] += A[i][j];
}
mean_row[i] = sum_row[i]/N;
}
}
void mean_c (int A[N][N]) {
for (j=0; j<N; ++j) {
sum_column[j] = 0;
for (i=0; i<N; ++i) {
sum_column[j] += A[i][j];
}
mean_column[j] = sum_column[j]/N;
}
}
int main()
{
int N;
printf("Enter size of matrix: ");
scanf("%d", &N);
int A[N][N];
values(A[N][N]);
mean_r(A[N][N]);
mean_c(A[N][N]);
for (i=0; i<N; ++i) {
for (j=0; j<N; ++j) {
printf("A[%d][%d] = %d\n", i, j, A[i][j]);
}
}
for (i=0; i<N; ++i) {
printf("Mean row #%d = %.2f\n", i, mean_row[i]);
}
for (j=0; j<N; ++j) {
printf("Promedio Columna #%d = %.2f\n", j, mean_column[j]);
}
return 0;
}
你能解释一下如何将矩阵传递给函数吗?我必须使用预先定义的函数来执行这些操作,然后在主函数中调用它。
【问题讨论】: