0
У меня есть эта функция: int triplet (int * array, int size, int K) { int i, j, k;Тройка массива отображается только один раз
for(i = 0; i < size-2; i++) {
for (j = i+1; j < size-1; j++) {
for (k = j+1; k < size; k++) {
/* Check if the sum of current triplets
is equal to "K" */
if(array[i] + array[j] + array[k] == K) {
printf("Triplet Found : %d, %d, %d\n", array[i], array[j], array[k]);
return 1;
}
}
}
}
/* No triplet found whose sum is equal to K */
return 0;}
Но это показывает только 1 триплет из моего массива, тройни слишком больше и как посчитать все показывает тройню? Что лучше, иметь этот триплет в функции или в int main (void)? Спасибо за советы
Спасибо за помощь, но теперь он принимает ноль для K = 7 оно принимает 1 + 6 + 0 и я хочу использовать без использования нуля, потому что тогда его вроде не триплет, а дублет: D – blackroad
Заменить 'if (array [i] + array [j] + array [k] == K) {' with ' int a = array [i], b = array [j], c = array [k]; if (a && b && c && a + b + c == K) {'. –
его смешно, но теперь он снова показывает только 1 триплет: D, но без этого его шоу больше триплетов, но триплет, как 1 + 3 + 0 = 4: D – blackroad