-1

乱数を生成し、配列に数字のリストを保存するためにこのコードを試しています。次に、1、5、9、4、3、7など、一度表示された数字をリストから1つずつ削除しようとしています,6 ,10, 11, 8, 2 は整数のリストです。9 は一度だけ表示され、9 はもう必要ありません。

NSMutableArray *storeArray = [[NSMutableArray alloc] init];    
BOOL record = NO;
int x;

for (int i=0; [storeArray count] < 10; i++) //Loop for generate different random values
{
    x = arc4random() % 10;//generating random number
    if(i==0)//for first time 
    {
      [storeArray addObject:[NSNumber numberWithInt:x]];  
    }
    else
    {
        for (int j=0; j<= [storeArray count]-1; j++) 
        {
                if (x ==[[storeArray objectAtIndex:j] intValue]) 
                record = YES;
        }

        if (record == YES) 
        {
            record = NO;
        }
        else
        {
            [storeArray addObject:[NSNumber numberWithInt:x]];
        }
    }
}
4

5 に答える 5

2

それを試してみてください

//**************remove repeat objects from array***************************//
    NSArray *noDuplicates = [[NSSet setWithArray: yourArray] allObjects];
于 2013-08-07T06:29:41.190 に答える
2


.h ファイルを追加します

BOOL isSame;
NSMutableArray *countArray;
NSInteger randomNumber;

.m ファイル

countArray=[[NSMutableArray alloc]init];

//get randon no
-(NSInteger)getRandomNo:(NSInteger)range
{
    isSame=TRUE;
    while (isSame){
    isSame = FALSE;
    randomNumber = arc4random() % range;
    for (NSNumber *number in countArray){
        if([number intValue] ==randomNumber){
            isSame = TRUE;
            break;
        }
    }
    }
    [countArray addObject:[NSNumber numberWithInt:randomNumber]];
    return randomNumber;
}
于 2013-08-07T06:43:58.063 に答える
-1

// 配列で乱数を取得する方法を確認します (つまり、この配列 (arr_numbers の下) には繰り返されない数値が含まれます)

// 一般的な目的でこれを投稿しています..そのため、人々は別の回答を確認できません

int num_count = 10;
    int RandomNumber;
    NSMutableArray *arr_numbers = [[NSMutableArray alloc] init];

    for (int j =0; j < num_count; j++)
    {
        RandomNumber = 0 + arc4random() % num_count;

        NSLog(@"%d",RandomNumber);

        if ([arr_numbers count]>0)
        {
            if (![arr_numbers containsObject:[NSNumber numberWithInt:RandomNumber]])//
            {
                [arr_numbers addObject:[NSNumber numberWithInt:RandomNumber]];
            }

            if (j == num_count-1)
            {
                if ([arr_numbers count] != num_count)
                {
                    j = 0;
                }
            }
        }
        else
        {
            [arr_numbers addObject:[NSNumber numberWithInt:RandomNumber]];
        }
    }
    NSLog(@"%@",arr_numbers);
于 2013-08-07T07:34:09.520 に答える