用 C++ 找出和为零的三元组


在本教程中,我们将编写一个程序来查找数组中和等于给定数字的三元组。

让我们了解解决此问题需要采取的步骤。

  • 使用虚拟数据创建数组。

  • 为三个元素编写三个内层循环,这些元素会迭代到数组结尾。

    • 添加这三个元素。

    • 将总和与 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

总结

如果您对本教程有任何疑问,请在评论部分中提到。

更新时间:2021-02-01

348 次浏览

职业生涯起航

完成课程以获得认证

开始
广告