【问题标题】:Random array value in c++?c++中的随机数组值?
【发布时间】:2017-06-09 12:43:28
【问题描述】:

您好,我可能在这里犯了一个愚蠢的错误,但我想知道是否有人可以帮助我!我应该使用给定的算法将值存储在一个大小为 20 的数组中,但是在我的第 8 位之后,我不断得到一些对我来说似乎没有意义的大数字......

for(loopCounter = 0; loopCounter < MAX_SIZE; loopCounter++)
{
    //Fun array is computed using the algorithm " fun[i] = 7 * i^2 - 4 * i - 500 ".
    fun[loopCounter] = (7 * (loopCounter * loopCounter)) - (4 * loopCounter) - 500;

    //Output

    cout << fun[loopCounter];

}

(MAX_SIZE 声明为 20)

【问题讨论】:

  • 欢迎来到 Stack Overflow!请edit您的问题与minimal reproducible exampleSSCCE (Short, Self Contained, Correct Example)
  • 将您的代码作为文本放入您的问题中。另外:fun 是如何定义的?
  • 一般来说,我更喜欢将循环索引变量称为ijk。如果你这样做了,你就不需要注释了,因为它(几乎)会复制代码。 (这与您的问题无关,因此是评论)。
  • 在我看来 fine
  • 您可能需要检查溢出。计算溢出的大量数字可能会导致打印出奇怪的数字。

标签: c++ arrays algorithm


【解决方案1】:

在 Visual Studio 中运行您的代码后,我注意到了一些事情。您的代码运行完美,如您所料。这里唯一的问题是这个伪随机数生成器总是从数组的索引 8 生成正数。所以它看起来像一个大数字。所以如果你添加

for (int loopCounter = 0; loopCounter < MAX_SIZE; loopCounter++){

    fun[loopCounter] = (7 * (loopCounter * loopCounter)) - (4 * loopCounter) - 500;
    std::cout << fun[loopCounter] << std::endl;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-10
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多