Mam tablicę zawierającą liczby od 1 do 7. Teraz wybieram konkretne liczby i umieszczam je w innej podwarstwie. Jeśli nie zawiera tych konkretnych liczb, chciałem wybrać kilka liczb, ale w oparciu o pewną zmienną licznika, której wartość jest losowo określana. Na przykład, jeśli wartość licznika wynosi 2, tylko dwie liczby z pozostałych elementów tablicy muszą zostać wybrane. To może być proste pytanie, ale potrzebuję pomocy, ponieważ jestem początkującym ios i celem c
z góry dziękuję co próbowałem
int counter = (arc4random()%(4-1))+1
for(int i=0; i<[mainarray count];i++)
{
if([[[mainarray objectAtIndex:i] objectAtIndex:1] integerValue]==specificnum)
{
[subarray addObject:[mainarray objectAtIndex:i]];
}
else if(counter==1)
{
[subarray addObject:[mainarray objectAtIndex:i]];
}
}
właściwie utknąłem w innej części
Odpowiedzi:
1 dla odpowiedzi № 1Pokazuję tutaj tablice z przykładowymi wartościami. Spróbuj tego
int counter = (arc4random()%(4-1))+1;
int specificnum = 4;
NSLog(@"Counter:%i ",counter);
NSArray *mainarray = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7", nil];
NSMutableArray *subarray = [[NSMutableArray alloc]init];
for(int i=0; i<[mainarray count];i++)
{
if([[mainarray objectAtIndex:i] integerValue]==specificnum)
{
[subarray addObject:[mainarray objectAtIndex:i]];
}
else if(counter!=0)
{
[subarray addObject:[mainarray objectAtIndex:i]];
counter--;
}
}
NSLog(@"Array: %@",subarray );
0 dla odpowiedzi nr 2
int[] mainarray;
int[] subarray;
// przypuśćmy, że przeniosłeś niektóre elementy tablicy z mainarray do subarray.
// znajdź bieżącą długość tablicy głównej tablicy
int main_length=mainarray.length();
int subarray_length=subarray.length();
Random rand = new Random();
int counter== rand.nextInt(main_length) + 1;
for(int i=0;i<counter;i++)
{
subarray[subarray_length]=mainarray[counter];
subarray_length++
}