C++でx
整数配列が与えられ、タスクは、xの整数値が次のようになるように、与えられた配列値を使用して形成できるペア(x、y)の総数をカウントすることです。 y未満。
入力 − int arr [] ={2、4、3、1}
出力 − x となるような配列内のペア(x、y)の数
説明 −
X Y X 2 4 true 2 3 true 2 1 false 4 3 false 4 1 false 4 2 false 3 2 false 1 2 true 3 4 true 1 4 true 3 1 false 1 3 false
以下のプログラムで使用されているアプローチは次のとおりです
整数配列が与えられ、タスクは、xの整数値が次のようになるように、与えられた配列値を使用して形成できるペア(x、y)の総数をカウントすることです。 y未満。
入力 − int arr [] ={2、4、3、1}
出力 − x
説明 −
X | Y | X |
2 | 4 | true |
2 | 3 | true |
2 | 1 | false |
4 | 3 | false |
4 | 1 | false |
4 | 2 | false |
3 | 2 | false |
1 | 2 | true |
3 | 4 | true |
1 | 4 | true |
3 | 1 | false |
1 | 3 | false |
-
整数要素の配列を入力してペアを形成します
-
配列のサイズを計算し、さらに処理するためにデータを関数に渡します
-
xがy未満のペアを格納するための一時変数カウントを作成します
-
配列のサイズまでiから0までのループFORを開始します
-
ループ内で、配列のサイズになるまでjから0までの別のループFORを開始します
-
ループ内で、IF arr [i]
-
カウントを返す
-
結果を印刷する
例
#include <iostream> using namespace std; int X_Less_Y(int arr[],int size){ int count = 0; for (int i = 0; i < size; i++){ for (int j = 0; j < size; j++){ if (arr[i] < arr[j]){ count++; } } } return count; } int main(){ int arr[] = { 2, 4, 3, 1 }; int size = sizeof(arr) / sizeof(arr[0]); cout<<"Count of pairs (x, y) in an array such that x < y are: "<<X_Less_Y(arr, size); return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Count of pairs (x, y) in an array such that x < y are: 6
-
C++でa+b + c=dとなるような配列で最大のdを見つけます
整数のセットがあるとします。数「d」を見つける必要があります。ここで、d =a + b + cであり、最大化(a + b + c)する必要があり、すべてのa、b、c、およびdがセットに存在します。セットには、少なくとも1つの要素、最大で1000の要素が含まれます。各要素は有限数になります。セットが{2、3、5、7、12}の場合、12が最大です。これは2+3 + 7で表すことができます この問題を解決するために、ハッシュ手法を使用できます。 (a + b)のすべてのペアの合計をハッシュテーブルに格納し、次にすべてのペア(c、d)をトラバースし、検索(d-c)がテーブルに存在するかどうかを確認し
-
C ++でa%b =kとなるような配列内のすべてのペア(a、b)を検索します
配列Aがあるとすると、その配列から、a%b =kとなるようにすべてのペア(a、b)を取得する必要があります。配列がA=[2、3、4、5、7]、k =3であるとすると、ペアは(7、4)、(3、4)、(3、5)、(3、7)になります。 これを解決するために、リストをトラバースして、指定された条件が満たされているかどうかを確認します。 例 #include <iostream> using namespace std; bool displayPairs(int arr[], int n, int k) { bool pairAvilable = true;