具有双指针数组的函数-在矩阵中找到最大值

普拉萨娜·黑格

问题是-编写程序以使用函数在矩阵中找到最大元素。

功能规格:

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;
}
萨胡

a为的行分配了内存,但没有为a

for( c = 0 ; c < m ; c++ )
{
   // Add this
   a[c] = malloc(n*sizeof(int));

   for( d = 0 ; d < n ; d++ )
   {
      scanf("%d",&a[c][d]);
   }
}

另外,请确保添加代码以释放内存。

for( c = 0 ; c < m ; c++ )
{
   free(a[c]);
}
free(a);

进一步改进:

不要使用硬编码的数字10来为其分配内存a,请使用m采用:

int m, n, c, d, maximum;
int **a = NULL

scanf("%d",&m);
printf("Enter the number of columns in the matrix\n");
scanf("%d",&n);
printf("Enter the elements in the matrix\n");

a = malloc(m * sizeof(*a));

请勿对所返回的值使用显式强制转换malloc请参见具体地说,强制转换malloc的结果有什么危险?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在具有多个最大值的矩阵中找到每行的最大频率

来自分类Dev

在PHP数组中找到最大值

来自分类Dev

如何在二维数组(矩阵)中找到局部最大值的索引?

来自分类Dev

是否有一个单行代码可以在矩阵中找到最大值?

来自分类Dev

我有40401 x 57矩阵,我需要从每一行中找到最大值以及该最大值的对应列索引?

来自分类Dev

如何在SQL中找到具有多个最大值的组的最大值?

来自分类Dev

熊猫在groupby中找到最大值并应用函数

来自分类Dev

如何在Sympy中找到函数的最大值?

来自分类Dev

在键是数组的对象中找到最大值?

来自分类Dev

如何在Swift对象数组中找到最大值?

来自分类Dev

如何在numpy数组列中找到最大值?

来自分类Dev

在一维数组中找到局部最大值

来自分类Dev

在排除索引的数组中找到最大值

来自分类Dev

如何在numpy数组列中找到最大值?

来自分类Dev

在多维数组中找到最大值并返回父键

来自分类Dev

如何在数组中找到最大值

来自分类Dev

如何在多维数组中找到最大值

来自分类Dev

如何在numpy数组中找到对应的最大值

来自分类Dev

在Pandas DataFrame中找到所有最大值的索引

来自分类Dev

在Pandas DataFrame中找到所有最大值的索引

来自分类Dev

Matlab:避免for循环在具有相同标签的值中找到最大值

来自分类Dev

如何在JavaScript中找到数组最大值的所有索引?

来自分类Dev

在数组中找到最小值和最大值时出现Stackoverflow错误?

来自分类Dev

Masm32。在数组中找到最小值和最大值

来自分类Dev

查找共享在汇总步骤中找到的最大值(值)的所有文档

来自分类Dev

如何在列表中找到所有局部最大值和最小值

来自分类Dev

在javascript中从键/值对中找到导致绘制的最大值持有键

来自分类Dev

如何在python中从给定范围的给定函数中找到最大值?

来自分类Dev

如何在MATLAB中找到多个数组的最大值?

Related 相关文章

  1. 1

    在具有多个最大值的矩阵中找到每行的最大频率

  2. 2

    在PHP数组中找到最大值

  3. 3

    如何在二维数组(矩阵)中找到局部最大值的索引?

  4. 4

    是否有一个单行代码可以在矩阵中找到最大值?

  5. 5

    我有40401 x 57矩阵,我需要从每一行中找到最大值以及该最大值的对应列索引?

  6. 6

    如何在SQL中找到具有多个最大值的组的最大值?

  7. 7

    熊猫在groupby中找到最大值并应用函数

  8. 8

    如何在Sympy中找到函数的最大值?

  9. 9

    在键是数组的对象中找到最大值?

  10. 10

    如何在Swift对象数组中找到最大值?

  11. 11

    如何在numpy数组列中找到最大值?

  12. 12

    在一维数组中找到局部最大值

  13. 13

    在排除索引的数组中找到最大值

  14. 14

    如何在numpy数组列中找到最大值?

  15. 15

    在多维数组中找到最大值并返回父键

  16. 16

    如何在数组中找到最大值

  17. 17

    如何在多维数组中找到最大值

  18. 18

    如何在numpy数组中找到对应的最大值

  19. 19

    在Pandas DataFrame中找到所有最大值的索引

  20. 20

    在Pandas DataFrame中找到所有最大值的索引

  21. 21

    Matlab:避免for循环在具有相同标签的值中找到最大值

  22. 22

    如何在JavaScript中找到数组最大值的所有索引?

  23. 23

    在数组中找到最小值和最大值时出现Stackoverflow错误?

  24. 24

    Masm32。在数组中找到最小值和最大值

  25. 25

    查找共享在汇总步骤中找到的最大值(值)的所有文档

  26. 26

    如何在列表中找到所有局部最大值和最小值

  27. 27

    在javascript中从键/值对中找到导致绘制的最大值持有键

  28. 28

    如何在python中从给定范围的给定函数中找到最大值?

  29. 29

    如何在MATLAB中找到多个数组的最大值?

热门标签

归档