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が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;
整数配列が与えられ、タスクは、xの整数値が次のようになるように、与えられた配列値を使用して形成できるペア(x、y)の総数をカウントすることです。 y未満。
入力 − int arr [] ={2、4、3、1}
出力 − x
説明 −
整数要素の配列を入力してペアを形成します
配列のサイズを計算し、さらに処理するためにデータを関数に渡します
xがy未満のペアを格納するための一時変数カウントを作成します
配列のサイズまでiから0までのループFORを開始します
ループ内で、配列のサイズになるまでjから0までの別のループFORを開始します
ループ内で、IF arr [i]
カウントを返す
結果を印刷する
上記のコードを実行すると、次の出力が生成されます-
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
例
#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;