Я написал алгоритм, в котором я хочу, чтобы он использовал случайный массив чисел и добавлял первое и последнее числа в этот массив. Пример: мой массив равен [0,5,3,8,2,4,7,9,6,1], и мой алгоритм должен проверить, 1 + 5 = 6 + 0, и поскольку это не так, он должен проверить, 5 + 3 = 9 + 6, то если 3 + 8 = 7 + 9 и т. Д.Как изменить int вне цикла for
Мой первый цикл for - это проверка последних чисел в массиве. Проблема в том, что int totalOfLastValues
обновляется только внутри цикла for, поэтому последние значения даже не увеличиваются. Например, в массиве [0,5,3,8,2,4,7,9,6,1], 0 + 5 = 6 + 1 неверно, поэтому он проверяет, 5 + 3 = 6 + 1 вместо проверки 5 + 3 = 9 + 6.
В моей .h
@interface FirstViewController : UIViewController
@end
int totalOfLastValues;
int end;
int almost;
В моей .m
-(void) numberAlgorithm {
NSMutableArray *arrayOfNumbers = [NSMutableArray array];
for (int x = 0; x < 10; x++)
{
int randomNumbers = arc4random_uniform(10);
[arrayOfNumbers addObject: [NSNumber numberWithInteger: randomNumbers]];
}
NSLog(@"%@",arrayOfNumbers);
int lastValue = [arrayOfNumbers count]-1;
for (int p = lastValue; p > 2; p--) {
end = [arrayOfNumbers[0 + p] integerValue];
almost = [arrayOfNumbers[(0-1) + p] integerValue];
totalOfLastValues = end + almost;
}
int mostRecentValue = [arrayOfNumbers[0] integerValue];
for (int i = 1; i < [arrayOfNumbers count]-2; i++) {
int one = mostRecentValue;
int two = [arrayOfNumbers[i] integerValue];
mostRecentValue = two;
if ((one + two) == totalOfLastValues) {
NSLog(@"2: Because %@ + %@ = %@ + %@",arrayOfNumbers[i-1],arrayOfNumbers[i],arrayOfNumbers[(0-1) + lastValue],arrayOfNumbers[0 + lastValue]);
break;
} else {
NSLog(@"-1: Because %@ + %@ != %@ + %@",arrayOfNumbers[i-1],arrayOfNumbers[i],arrayOfNumbers[(0-1) + lastValue],arrayOfNumbers[0 + lastValue]);
}
}
}
Любая помощь будет оценена. благодаря!