这是我的 C++ 入门类(class)。我们目前正在做数组,我正在尝试为数组的每一列找到最小值。这是我所拥有的:
#include <iostream>
using namespace std;
int main(){
int grade[4][30] = {{76, 70, 80, 90, 100, 83, 61, 63, 64, 65, 97, 69, 70, 79,60, 70, 80, 90, 100, 83, 61, 63, 99, 98, 66, 69, 70, 79},
{74, 70, 80, 90,60, 61, 93, 88, 73, 65, 91, 69, 70, 79, 60, 70, 80, 90, 60, 83, 61, 63, 64, 65, 66, 69, 67, 74},
{72, 70, 80, 90, 99, 84, 62, 63, 99, 65, 66, 69, 70, 79, 60, 70, 80, 90, 99, 83, 61, 63, 64, 65, 66, 69, 70, 77},
{69, 70, 80, 90, 60, 61, 86, 63, 97, 97, 66, 69, 70, 79, 97, 70, 80, 90, 88, 83, 88, 63, 64, 65, 66, 69, 70, 79}};
int a;
for(int x = 0; x < 4; ++x){
a = grade[x][0];
for(int y = 0; y < 30; ++y){
if( a > grade[x][y])
a = grade[x][y];
cout << "a is " << a << " for the " << y << "time" << endl;}
cout << a << endl;}
return 0;
}
我的问题是我不明白为什么在最后两个循环中该值变为 0?真正的答案应该是每行 60。
P.S 我用它来找到最大值并且它起作用了,但不明白为什么它在这里不起作用?
最佳答案
for(int y = 0; y < 30; ++y){
这是因为例如您的第一个数组仅包含 28 个显式初始化 元素并且您迭代到 30 个(见上文)。没有自己初始化的元素都初始化为0。
关于c++ - 查找数组中的最小值(我的代码有什么问题?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43708787/