该系列的逻辑/算法

时间:2011-09-28 05:45:51

标签: c++ arrays character

我有一个从a到z的字符数组,我的任务是从这个数组中提取元音,提取元音索引的系列就像这样, 1,5,9,15, 21,25 ...... 我无法通过循环创建这个系列,这些数字实际上是数组中的元音。

我不想要元音匹配技术,我想要上面给出的序列的逻辑。

3 个答案:

答案 0 :(得分:3)

如果您真的想以算法方式执行此操作,您可以:

int v = 1;
for (int i = 0; i < 6; i++) {
    printf("%d\n", v);
    v += 4 + (i & 2);
}

......但我不确定我是否明白这一点。

答案 1 :(得分:0)

我认为 Greg Hewgill 提出的解决方案更合适,你有int vowels[] = {1, 5, 9, 15, 21, 25};vowels[i]是你的功能。但是,如果你想要一个数学函数Wolfram Alpha建议:

(z(z((9-5z)z-11)+5))/((z-1)^4)+1

http://www.wolframalpha.com/input/?i=1%2C+5%2C+9%2C+15%2C+21%2C+25

那就是说,我没有看到使用它而不是阵列的重点。

答案 2 :(得分:0)

你可以毫无疑问地找到序列的公式,但就是那个 正确的做法?字符是否是元音是不确定的 是否是序列的成员;它完全是武断的, 从一种语言到另一种语言并不一定相同:y是元音 在某些语言中,在其他语言中是辅音,可以是英语; 27,28和29不存在英语,但是是瑞典语的元音等。