2013-05-30 44 views
0

我知道這是新手問題,但我真的需要一些幫助。我正在嘗試用Xcode上的integer臨時數組爲4個數字創建一個while循環。在每一個循環中,我想檢查以前的數字並將它存儲到我的表格中,直到填充四個數字。我想要隨機化的數字在2-5之間。

因此,這裏是我開始思考:隨機數xcode上沒有重複循環發生器

ans= arc4random()%4+2; 

      seq[]=ans; 
      counter=+1 
      while (uniq==true) { 
       ans=arc4random()%4+2; 
      } 
      Uniq=true 
      for(int i=0; I <4; i++) 
      If (ans=seq[i]){ 
      Uniq==false 

      Seq[counter=ans] 
       Counter++} 

我知道我失蹤的事情。如果有人能幫助我,我將是gratefull

+0

2,3,4,5是要從哪裏隨機選取列表? –

+0

是的,這就是爲什麼我以ans = arc4random()%4 + 2開頭;然後我想檢查第一個結果,然後繼續這些數字的下一個數字,直到它填充整個數組。 – user2437643

+1

@ user2437643你究竟想在這裏完成什麼?如果你想隨機選擇數字2-5,那麼洗牌就更有效率。 – pjs

回答

1

試試這個:(* 不編譯檢查

NSMutableArray *array = [NSMutableArray arrayWithArray:@[@"2", @"3", @"4", @"5"]]; 
NSMutableArray *mArray = [NSMutableArray new]; 

while (array.count > 0) { 
    NSUInteger index = arc4random() % array.count; 
    mArray[mArray.count] = array[index]; 
    [array removeObjectAtIndex:index]; 
} 
+0

更正了明顯的錯誤,不確定是否可以用'[]'添加項目,因爲我沒有使用它。 – Sulthan

+0

@Sulthan:如果索引超出界限,可以添加新的索引。 'mArray [mArray.count]'是我想用的。即使你的編輯是好的,同樣的事情:)。 –

+0

哦,對不起。 '.'丟失了,所以我只選擇了一個解決方案:) – Sulthan