【发布时间】:2015-09-06 13:15:27
【问题描述】:
这是一个问题 - 编写程序,使用函数查找矩阵中的最大元素。
功能说明:
int findMax(int **a, int m, int n) 第一个参数对应于指向矩阵的指针。 第二个参数对应于矩阵中的行数。 第三个参数对应矩阵的列数。
以下是我的代码,虽然没有编译错误,但我不知道我哪里出错了。请提前帮助和感谢!
#include<stdio.h>
#include<malloc.h>
int findMax(int **a, int m, int n) {
int c,d, maximum=a[0][0];
for( c = 0 ; c < m ; c++ )
{
for( d = 0 ; d < n ; d++ )
{
if ( a[c][d] > maximum )
maximum = a[c][d];
}
} return maximum;
}
int main()
{
int m, n, c, d, maximum;
int **a = (int **)malloc(10 * sizeof(int *));
scanf("%d",&m);
printf("Enter the number of columns in the matrix\n");
scanf("%d",&n);
printf("Enter the elements in the matrix\n");
for( c = 0 ; c < m ; c++ )
{
for( d = 0 ; d < n ; d++ )
{
scanf("%d",&a[c][d]);
}
}
printf("The matrix is\n");
for( c = 0 ; c < m ; c++ )
{
for( d = 0 ; d < n ; d++ )
{
printf("%d ",a[c][d]);
}
printf("\n");
}
maximum = findMax(a,m,n);
printf("The maximum element in matrix is %d\n", maximum);
return 0;
}
【问题讨论】: