Я хочу иметь функцию, которая будет просматривать массив натуральных чисел любого размера ({0,1,2 ....}) и найти недостающее значение.Поиск недостающего числа в массиве
Что я имею в виду, если массив равен: {0,1,3,4,5}, я хочу, чтобы функция возвращала 2, если массив {1,3,0,4}, я хочу, чтобы функция вернуться 2 и так далее ...
Моя попытка:
int missing(int* t, int r) {
int i;
int sum=0;
sum=(r+1)*(r+2)/2;
for(i=0;t[i];i++){
sum-=t[i];
}
return sum;
}
идея состояла в том, чтобы сначала вычислить сумму от 1 до п, чем вычесть из этой суммы каждое число в массиве отдельно. Однако программа возвращает общую сумму без вычитания чисел в массиве.
Почему он не работает правильно?
'for (i = 0; t [i]; i ++)' это не имеет никакого смысла - вы имели в виду 'for (i = 0; i