正在数组中查找最大值
Finding max value in an array
如果我有一个数组,例如
10、4、7、8
最大元素的值为
10
如何找到此值?
这是我的尝试:
int highNum = 0;
int m;
int list[4] = {10, 4, 7, 8};
for (m = 0 ; m < size ; m++);
{
if (list[m] > highNum)
highNum = list[m];
cout << list[m];
}
cout << highNum;
我正试图写一个简单的循环来存储数组中的最大值,我写这篇文章时认为它会起作用,但由于某种原因,在for循环开始时,它将m变量存储为4,然后退出循环。
除非你这样做是为了家庭作业,并且必须编写循环,否则只需使用std::max_element
,如:
int list[4] = {10, 4, 7, 8};
std::cout << *std::max_element(list, list+4);
或者更好的是,避免对长度进行硬编码:
int list[] = {10, 4, 7, 8};
std::cout << *std::max_element(std::begin(list), std::end(list));
for
语句后面有一个分号:
for (m = 0 ; m < size ; m++);
{
这应该是:
for (m = 0 ; m < size ; m++)
{
int highNum = 0;
int m;
int list[4] = {10, 4, 7, 8};
for (m = 0 ; m < size ; m++); // <-- semicolon?
{
if (list[m] > highNum)
highNum = list[m];
cout << list[m];
}
cout << highNum;
看看你的压痕,你可能错过了一对{
。。。CCD_ 4用于CCD_ 5语句。
在for循环的右括号后面有一个;
:for (m = 0 ; m < size ; m++);
块内的语句(大括号内(只有在循环执行nothing多次大小之后才能执行,而且只有一次。
您还错过了if语句的一对{ ... }
。
您在中的;
末尾放了一个多余的
for (m = 0 ; m < size ; m++);
编辑:使用一些额外的<< endl;
工作代码
int size = 4;
int highNum = 0;
int m;
int list[4] = {10, 4, 7, 8};
for (m = 0 ; m < size ; m++)
{
if (list[m] > highNum)
highNum = list[m];
cout << list[m] << endl;
}
cout << highNum << endl;
相关文章:
- 在二维向量的每一列中查找最大值
- 用于在具有更新查询的二维矩阵中查找最大值的最佳数据结构
- 性能:在 ARR(允许平局)中查找最大值的索引
- 使用动态内存分配和指针查找最大值、最小值和平均值
- C++ 在 2D std::vector 中查找最大值的位置
- 在对象向量中查找最大值
- 查找最大值并删除 2D 数组中的该行.C++
- C++查找最大值和最小值的功能
- 在字符串中查找最大值
- 使用数组查找最大值
- C++函数在一个双精度数组中查找最大值
- 如何查找最大值和最小值
- C++:在数组中查找最大值的问题
- Std::数组查找最大值函数
- 在数组中查找最大值,从索引的两侧增加值
- 数组函数查找最大值
- 正在数组中查找最大值
- 在二维数组的矩形区域内查找最大值的快速方法
- 浮点比较C++-查找最大值
- 查找最大值和最小值