如何创建循环数组
How to create a circular array?
我正在尝试创建对数组的循环引用。例如
float arr1[10] = {0,1,2,3,4,5,6,7,8,9};
然后我使用循环变量来访问数组的元素。
for (int i=0;i<10;i++){
std::cout<<arr1[i]<<std::endl;
//other processing using arr1[i] indexing
}
在这里,我只能使用i<=10
.如果我想做i<=16
并且如果i>10
那么索引应该转到arr1[0]
并从那里继续。什么是可取或推荐的方法?
您需要使用取模运算符%
。 14 % 10 = 4
因此,只需使用用于访问它的索引即可执行此操作。
你应该像@Jdman1699所说的模运算符一样使用。在这里你可以找到一个例子:
int position; //the position you want to get
float out = arr1[position%10];
对于您的特定程序,我只是建议将 base for 循环放在另一个 for 循环中(因为考虑到您的源代码,您似乎想多次打印出数组的所有元素(。这是因为访问元素 n 与访问元素 n + 10 没有什么不同。但是,如果您打算创建某种函数来访问数组的任何元素,我会使用模运算符基数 10。或
unsigned long int newidx = iptidx%10;
然后使用 Newidx。
也许你正在寻找...
for (int i=0;i<10;i++){
std::cout<<arr1[i%10]<<std::endl;
//other processing using arr1[i] indexing
}
相关文章:
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- 使用for循环检查数组中的重复项
- 并行用于C++17中数组索引范围内的循环
- C++ 无法在字符数组中使用 for 循环打印字母模式
- 程序在遍历所有值之前离开循环. 数组的
- 在C++中循环数组时访问结构属性
- 如何创建循环数组
- 查找 for 循环数组C++中存在最大值和最小值的值
- 有没有办法在 c++ 中创建循环数组
- OpenMP-每个线程的循环/数组界限
- 循环数组 - 从最后一个跳到第一个,反之亦然
- 循环数组时显示'stack smashing detected abc2 terminated Aborted'
- 使用循环数组实现矢量
- 为什么在循环数组时会得到奇怪的整数
- 循环数组-超出值
- 用于循环数组赋值的C++.正在返回垃圾邮件
- 在RapidJson中循环数组并获取对象元素
- 对于循环数组迭代,if循环测试索引是否为真/假,计算结果不正确
- c++循环/数组
- 有没有一种方法可以简化这个c++整数循环数组?