C++:用满足特定要求的二维数组的元素制作数组
C++: Make an array out of the elements of a two dimensional array that meet certain requirements
我是多维数组的新手,我现在正在努力解决的问题如下:我有一个"maxn"天数,以及这些天记录的最高和最低温度,我必须用这些数据做某些事情。其中之一是确定温度低于和高于 0 的天数(即:记录的最低温度低于,最高温度高于)。程序必须输出发生此类事情的天数以及这些天的索引。
但是,无论我使用哪个循环以及如何使用,我都会搞砸它,要么我得到一些绝对无关紧要的东西,要么得到一个无限循环。这是我到目前为止所拥有的:
void abovebelow (int n, float days[maxn][2]{
int counter=0;
float a[maxn];
for (int i=0; i<n; i++){
for (int j=0; j<n; j++){
if ((days[i][0]<0 && days[i][1]>0) || (days[i][1]<0 && days[i][0]>0)){
counter++;
i=a[j];
cout<<counter<<" "<<a[j]<<" ";
}
}
}
你可以用简单的for循环来做到这一点。为什么要为此使用两个嵌套循环?
此外,if条件可以修改为:
for (int i=0; i<n; i++) {
if (days[i][0]*days[i][1]<0) {
counter++;
cout<<"Day "<<i+1<<endl;
}
}
cout<<"Counter: "<<counter<<endl;
附注:
1.我希望这是您粘贴的代码中的错别字。函数声明中存在语法错误。
2.In 标准C++,没有VLA(您在不知不觉中使用了特定于编译器的额外功能)。除非maxn
是const
(谢谢,詹姆斯),否则您需要:
float *a = new fload[n];
//do all the stuffs here
delete[] a;
相关文章:
- 将二维数组的所有元素插入到一维数组中
- 元素在二维数组 c++ 中的出现次数
- 在二维数组中查找第二大元素
- 在给定元素在螺旋上的位置的情况下,在二维数组中查找元素
- 如何为映射和priority_queue编写比较器,其中元素是二维数组
- 如何将 50 行和 50 列的二维数组编码为一个为元素随机分配星号的函数?
- 如何删除二维数组中的元素
- 我无法将二维数组的两个元素的差异分配给C++中其他数组的元素?
- 在 c 和 c++ 中,二维数组的元素是什么类型?
- 如何在默认和二维数组中找到顺序扩大元素的位置
- C++ 中二维数组中未知数量的元素
- 是一个二维数组的名称,它在C++中的第一个元素的地址
- 从二维数组中给定的索引中求对角线元素的和
- 二维数组的最小/最大元素
- 随机修改二维数组元素
- 二维数组:二维数组的子平方的元素之和
- 将二维数组元素复制到另一个具有其他大小的二维数组中
- 如何将元素添加到二维数组/矩阵的随机位置
- C++:用满足特定要求的二维数组的元素制作数组
- 获取动态二维数组元素的行/列