在本教程中,我们将编写一个程序,在数组中查找总和等于给定数字的三元组。
让我们看看解决问题的步骤。
使用虚拟数据创建数组。
为迭代到数组末尾的三个元素编写三个内部循环。
添加三个元素。
将总和与 0 进行比较。
如果两者相等,则打印元素并打破循环。
让我们看看代码。
#include<bits/stdc++.h> using namespace std; void findTripletsWithSumZero(int arr[], int n){ bool is_found = false; for (int i = 0; i < n-2; i++) { for (int j = i+1; j < n-1; j++) { for (int k = j+1; k < n; k++) { if (arr[i]+arr[j]+arr[k] == 0) { cout << arr[i] << " " << arr[j] << " " << arr[k] << endl; is_found = true; } } } } if (is_found == false) { cout << "Triplets doesn't exist"<<endl; } } int main() { int arr[] = {0, 1, -1, 2, 2, -4, 3, 4}; findTripletsWithSumZero(arr, 8); return 0; }输出结果
如果你执行上面的程序,那么你会得到下面的结果。
0 1 -1 0 -4 4 1 -4 3 2 2 -4
如果您对本教程有任何疑问,请在评论部分提及。