查找二维数组最大值及其下标

请编写函数查找二维数组的最大值和最大值对应的行和列下标。通过函数值返回最大值。在主函数中赋予二维数组的值(二维数组为 MN,M 和 N 和符号常量确定),调用函数 fun 实现相关的功能,并在主函数中将最大值和行和列下标输出。输入和输出应有相关的提示信息。*

#define  _CRT_SECURE_NO_WARNINGS /*防止scanf使用报错*/
#include
#define M 5
#define N 5

int seekMax(int(*data)[N], int m, int n);

int main()
{
	int data[M][N] = {
		{1,5,8,3,6},
		{8,6,9,48,62},
		{19,33,56,-66,48},
		{13,999,51,23,54},
		{9,4,8,-99,0}
	};
	int Max;
	Max = seekMax(data, M, N);
	printf("max = %d\n", Max);
	printf("\n");
	return 0;
}

//找寻数组最大元素与其具体位置
int seekMax(int(*data)[N], int m, int n)
{
	int maxNum = data[0][0];
	int i, j, max_i = 0, max_j = 0;

	for (i = 0; i < m; i++)
	{
		for (j = 0; j < n; j++)
		{
			if (maxNum < *(*(data + i) + j))
			{
				maxNum = *(*(data + i) + j);
				max_i = i;
				max_j = j;
			}
		}
	}
	printf("max_i = %d , max_j = %d\n", max_i, max_j);
	return maxNum;
}

在这里插入图片描述

你可能感兴趣的:(C,c语言,算法,c++)