我知道我的问题可能不太清楚,所以我会尽力解释。我有一个数组array1
,其中有多个双打。我想,每个第n个数字,将这些“n”数字(通过添加)组合成一个double,甚至可以将它添加到它自己的数组array2
示例:
1\
2 \
3 \
4 > (1 + 2 + 3...) <--object 0 in `array2`
5 /
6 /
7/
8 \
9 \
10 \
11 > (8 + 9 + 10...) <--object 1 in `array2`
12 /
13 /
14/
上述序列中的第n个数字为7。我想我必须每7个数字将数组分成较小的数组。这可能吗?请提出任何建议。
答案 0 :(得分:1)
Logic:
array1= array with elements
array2= array in which combined results will be saved
float fResult=0;
int i=0;
while(i<array1.count)
{
for(int j=0;j<n;j++)
{
if(i>=array1.count)
{
break;
}
if(j==0)
{
fResult=0;
}
fResult=fResult+[[array1 objectAtIndex:i]floatValue];
i++;
if(j==n-1 || i==array1.count)
{
[array2 addObject:[NSNumber numberWithFloat:fResult]];
}
}
}
这里n是要在一个元素中组合的元素的数量。在你的情况下它是7。
希望这会有所帮助:)
答案 1 :(得分:0)
我只是把逻辑;
MainArray;
array1;
array2;
int n = 7;
int loopNumber = ceil(MainArray/n);
for(int k = 0; k < loopNumber ; k ++)
{
for(int i = 0; i < n ; i ++)
{
if(k == 0)
[array1 addObject:[MainArray objectAtIndex:i]];
if(k == 1)
[array2 addObject:[MainArray objectAtIndex:i]];
}
}