C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++で合計がゼロのすべてのトリプレットを検索する


このチュートリアルでは、合計が指定された数に等しい配列内のトリプレットを見つけるプログラムを作成します。

問題を解決するための手順を見てみましょう。

  • ダミーデータを使用してアレイを作成します。

  • 配列の最後まで反復する3つの要素に対して3つの内部ループを記述します。

    • 3つの要素を追加します。

    • 合計を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

結論

チュートリアルに質問がある場合は、コメントセクションにそのことを記載してください。


  1. C ++を使用して、マトリックス内の合計が最大の列を検索します。

    サイズがMxNの行列があるとします。合計が最大の列を見つける必要があります。このプログラムでは、トリッキーなアプローチには従わず、配列を列ごとにトラバースし、各列の合計を取得します。合計が最大の場合は、合計と列インデックスを出力します。 例 #include<iostream> #define M 5 #define N 5 using namespace std; int colSum(int colIndex, int mat[M][N]){    int sum = 0;    for(int i = 0; i<M; i++){

  2. Pythonで指定された合計を持つリスト内のすべてのトリプレットを検索します

    数字のリストで、特定の合計を与えるためにどの3つの要素を結合できるかを調べたいと思います。これをトリプレットと呼びます。そして、リストにはそのようなトリプレットがたくさんある可能性があります。たとえば、合計10は、1、6、3および1、5、4のフォーム番号で生成できます。この記事では、与えられた数のリストからそのようなすべてのトリプレットを見つける方法を見ていきます。 範囲変数と一時変数の使用 これは、一時変数を作成する従来のアプローチです。これらの変数はリストの要素を保持し、それらの合計が必要な値に等しいかどうかを確認します。その後、そのような変数を最終結果セットに蓄積し続けます。 例 de