用 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 次瀏覽

職業生涯起航

完成課程以獲得認證

開始
廣告
© . All rights reserved.