在 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

结论

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

以上是 在 C++ 中查找所有零和的三元组 的全部内容, 来源链接: utcz.com/z/345862.html

回到顶部