为什么输出的不是最大值
来源:2-14 编程练习
算法请爱我emmm
2018-10-07 12:16:42
#include "pch.h"
#include <iostream>
using namespace std;
int Max(int(*a)[4], int len)
{
int i, j, s = 0;
int max = *(*a); //将a[0][0]初始化max
for (i = 0; i < len; i++, a++)
{
for (j = 0; j < 3; j++)
{
int temp;
//冒泡排序,将最大值放在最后一个数组元素中
if (*(*a + j + 1) < *(*a + j))
{
temp = *(*a + j + 1);
*(*a + j) = temp;
*(*a + j + 1) = *(*a + j);
}
}
s = *(*a + 3);
if (s > max)
max = s;
}
return max;
}
int main()
{
//定义二维数组
int num[3][4] = { 4,5,2,6,12,7,5,0,3,1,3,4 };
//调用函数并输出返回值
cout << Max(num, 3) << endl;
return 0;
}
1回答
guly
2018-10-08
你好,建议修改并参考一下代码:
#include <iostream> using namespace std; int Max(int(*a)[4], int len) { int i, j, s = 0; int max = *(*a); //将a[0][0]初始化max for (i = 0; i < len; i++, a++) { for (j = 0; j < 4; j++) { //冒泡排序,将最大值放在最后一个数组元素中 if (max< *(*a + j)) { max=*(*a + j); } s = *(*a + 3); if (s > max) max = s; } } return max; } int main() { //定义二维数组 int num[3][4] = { 4,5,2,6,17,7,5,0,3,1,3,24 }; //调用函数并输出返回值 cout << Max(num, 3) << endl; return 0; }
如果解决您的问题请采纳,祝学习愉快!
相似问题