我有一个二维数组,具有可变数量的行和两列,我应该找到在其列中差异最大的行。更明确地说:我得到n天的最低和最高温度,我应该找到温度之间的差异最大的一天(如果两天有相同的差异,那么我应该给出仅第一个)。但是,我从未使用过多维数组,因此不确定是否可以执行以下操作:a [i] [1] -a [i] [0]? (a [i]是当天的索引,而a [1]是当天的最高温度,a [0]是最低的)
我的代码的这一部分看起来像这样:
int difference (int n, float a[maxn][2]) {
float difference=a[0][1]-a[0][0];
int index=0;
for (int i=0; i<n; i++) {
if (a[i][1]-a[i][0]>difference) {
index=i;
a[i][1]-a[i][0]=difference; //HERE I get the error message: lvalue required as left operand of assignment
}
}
return index+1; //to get the day with the largest difference
如果我没有将其作为赋值操作,但是我使用==使值等于差,那么它说“声明无效”,所以我在想也许我不允许做我尝试做的事情去做。
最佳答案
difference
之一成为其他名称。 =
仅与您尝试在左侧分配的变量一起使用。尝试:difference = a[i][1] - a[i][0];
关于c++ - C++:二维数组,如何查找其列中差异最大的行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10889111/