Iphone 应用程序中的随机使用

Iphone 应用程序中的随机使用,iphone,Iphone,如何创建一个数组,将来自3个不同值0、1、2的结果随机化,然后进行2个组合 例如: 我有 我试着从这个网站上的arc4random帮助帖子中使用它,但是当我执行上述操作时,应用程序崩溃了。我是arc4random的乞丐,无法找到解决方案,因为网上没有足够的文档来帮助我。 此外,我怎样才能从blah中选择两个要显示的项目呢?好吧,其中一个你缺少一个 int values[3] = {0,1,2}; //<-- here int blah = values[arc4random() %3];

如何创建一个数组,将来自3个不同值0、1、2的结果随机化,然后进行2个组合

例如: 我有

我试着从这个网站上的arc4random帮助帖子中使用它,但是当我执行上述操作时,应用程序崩溃了。我是arc4random的乞丐,无法找到解决方案,因为网上没有足够的文档来帮助我。
此外,我怎样才能从blah中选择两个要显示的项目呢?

好吧,其中一个你缺少一个

int values[3] = {0,1,2}; //<-- here
int blah = values[arc4random() %3];
NSLog(@"Value: %d",blah);

[编辑]

或者,您可以这样做:

int values[3] = {0,1,2}; 
int sum;
switch (arc4random()%3) {
case 0:
    sum = values[1] + values[2];
    break;
case 1:
    sum = values[0] + values[2];
    break;
case 2:
    sum = values[1] + values[0];
    break;
}
int values[3] = {0,1,2}; 
int blah[2];
int index;
switch (arc4random()%3) {
case 0:
    index = arc4random()%2;
    blah[index] = values[1];
    blah[1-index] = values[2];
    break;
case 1:
    index = arc4random()%2;
    blah[index] = values[0];
    blah[1-index] = values[2];
    break;
case 2:
    index = arc4random()%2;
    blah[index] = values[1];
    blah[1-index] = values[0];
    break;
}

a也可能适合您的需要。

您必须重新表述您的问题。如果你有3个值,只有3个可能的组合。我的意思是,如果我有0,1,2,我希望blah能够等于2或3或1或2,你得到我的意思??呃,不,不是真的。你想对
值[]
中的2个随机数求和吗?我的应用程序中有100个组合。我希望能够随机得到20个值,并且能够一个接一个地使用这些值(以随机顺序),以便能够以随机顺序显示这些值。你非常了解我在底部的情况。是的,这是我在寻找的,但是如何将案例0,1,2随机化为只包含3个随机值中的2个“值”?
int values[3] = {0,1,2}; 
int sum;
switch (arc4random()%3) {
case 0:
    sum = values[1] + values[2];
    break;
case 1:
    sum = values[0] + values[2];
    break;
case 2:
    sum = values[1] + values[0];
    break;
}
int values[3] = {0,1,2}; 
int blah[2];
int index;
switch (arc4random()%3) {
case 0:
    index = arc4random()%2;
    blah[index] = values[1];
    blah[1-index] = values[2];
    break;
case 1:
    index = arc4random()%2;
    blah[index] = values[0];
    blah[1-index] = values[2];
    break;
case 2:
    index = arc4random()%2;
    blah[index] = values[1];
    blah[1-index] = values[0];
    break;
}