当前位置: 首页 > 知识库问答 >
问题:

我如何输出一个真正不同的随机结果,从一串数组在C++中绘制?

仰雅昶
2023-03-14

int random=rand()%7;cout<<“random color=”<

srand((无符号int)时间(NULL))


#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>

using namespace std;

class randColor 
{

    private:

        string colors[7];

    public: 

    // set element to assign values to array
    void setElement(int index, string color)
    {
        colors[index] = color;
    }

    void printColor()
    {
        int i = 0;

        for(i = 0; i < 7; i++)
        {
            cout << colors[i] << endl;
        }
    }

    void randomPick()
    {
        int random = rand() % 7;
        cout << "Random color = " << colors[random] << endl;
    }
};

int main()
{
    srand((unsigned int)time(NULL));

    randColor RandomOne;

    const string colors[7] = {"red", "orange", "yellow", "blue", "green", "indigo", "violet"};

    for (int i = 0; i < 7; i++)
    {
        RandomOne.setElement(i, colors[i]);
    }

    RandomOne.printColor();

    RandomOne.randomPick();

    return 0;
}

共有1个答案

艾跃
2023-03-14

我试图使用rand()和srand()函数在数组的索引中生成一个随机数,但它每次都输出相同的东西。什么给了?

它并不是每次都输出相同的东西。或者更确切地说--首先打印所有的颜色--这显然不是随机的--然后打印随机选择的颜色的名称。不是每次都一样...

除此之外--您应该避免使用rand()(或者观看Stephen Lavavej关于这个问题的演讲)。用C++的方式代替!

 类似资料:
  • 我想要这样的结果。依靠这个数组,我想在其中得到一个随机值。

  • 本文向大家介绍php 从一个数组中随机的取出若干个不同的数实例,包括了php 从一个数组中随机的取出若干个不同的数实例的使用技巧和注意事项,需要的朋友参考一下 第一种算法,CSDN上别人的想法   第二种算法,自己想的。 可以在每次取出数据之后将该数据和最后没有获取的数据替换,然后再去没有取得的数据中随机获取值   感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • 我的CompSci课程有一个作业,我们正在做,我们必须打印出一副二维的卡片,6行8列的数组。每个“卡”基本上是随机生成的数字(1-12)和随机选择的套装(钻石、红桃、黑桃、,

  • 我正在尝试研究如何将6个随机生成的数字添加到HashSet中。我得到了结果,但结果不一致。有时它会将6个数字打印到控制台,有时它会打印5个数字到控制台。 我是今天早上才开始接触这种东西的,所以如果很明显,我道歉,并感谢你的帮助。

  • 我正在创建一个C-prog,它需要一个由17个整数组成的数组,所有整数都小于18并且是唯一的。这是我现在能做的: 我现在的算法是,每次rand()生成一个数字时,都会在数组中检查这个数字是否已经存在,如果已经存在,则rand()会继续生成一个数字,直到得到一个唯一的数字,然后将其存储在数组中,如果数组中不存在这样的数字,则直接输入到数组中。