【发布时间】:2010-12-22 10:12:42
【问题描述】:
以下情况:我有一个包含一些常量值的数组,它们代表范围。
范围总是在数组中的两个值之间,例如:10 - 20 = range1
20-30 = range2 等等...
const int arr[] = {10, 20, 30, 40, 50, 60};
使用搜索功能,我在 arr[] 中搜索这些范围之间的数字(val)并返回找到 val 的范围索引。
例如:如果 val = 15 → 返回值为 1
如果 val = 33 → 返回值为 3
int Search(const int arr[], int n, int val)
{
int i = 0;
while (i < n) {
if (val > arr[i])
++i;
else
return i;
}
return -1;
}
好的,到此为止……
现在出现以下问题:
我有一些参数,我们称它们为 x、y、z,它们是简单的整数,它们取决于 val 的值。
x、y、z的参数值我在编译之前就已经知道了,当然每个范围都不一样。
我现在如何使用范围索引设置 x、y 和 z?
例如,如何使用 x、y、z 的常量参数值创建一个数组并根据返回的范围索引设置它们?或者它应该是一个结构?
那会是什么样子……?
谢谢
【问题讨论】:
-
到目前为止,我从问题陈述中了解到的是,您最初将拥有一些 x、y、z 变量的值(取决于 val),并且基于返回的索引,您再次想要设置x、y、z 值的值。如果我的理解不正确,请告诉我。
-
你确实明白我的问题。你写的正是我想要的。
标签: c++