计算满足C ++中给定条件的数组中的有效对
我们给了N个元素的数组arr []。目的是找到遵循某些条件的所有有效对(Arr [i],Arr [j])的计数。如果-配对Arr [i],Arr [j]无效-
Arr [i] == Arr [j]
Arr [i] + Arr [j]是偶数
i + j <120
注-编曲[I],编曲[j]与编曲[j]时,编曲[I]将被计为一对。有效对具有i!= j让我们通过示例进行了解。
输入值
Arr[]= { 3,2,1,2,4,3 } N=4
输出结果
Count of valid pairs: 2
说明
有效对是-
Arr[0] & Arr[4] → (3,3) here Arr[i]==Arr[j] & 3+3 is even also i!=j and i+j<120Arr[1] & Arr[3] → (2,2) here Arr[i]==Arr[j] & 2+2 is even also i!=j and i+j<120
输入值
Arr[]= { 1,2,3,4,5,6 } N=6
输出结果
Count of valid pairs: 0
说明
没有元素的重复。i!= j时,不可能有一对类型(a,a)。
以下程序中使用的方法如下
我们采用用随机数初始化的整数数组Arr []。
取一个变量n,它存储Arr []的长度。
函数countPairs(int arr [],int n)接受一个数组,将其长度作为输入并返回有效且满足所需条件的对。
对数组中的每个元素使用两个for循环遍历数组。
外循环从0 <= i <n-1,内循环i <j <n
计算arr [i]和arr [j]之和assum =(arr [i] + aar [j])。
检查一对是否有效。比较i!= j和sum%2 == 0还是i + j <120。
现在检查arr [i] == arr [j]。增量计数。
在所有循环结束时,计数将具有有效的对总数
返回计数结果。
示例
#include <bits/stdc++.h>using namespace std;
int countPairs(int arr[], int n){
int count=0;
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++) //j=i+1 we don't have to check i!=j{
int sum=arr[i]+arr[j];
//valid pairs have i!=j
if( sum%2==0 && i+j<120){
if( arr[i]==arr[j] ) //valid pair{
count++;
cout<<endl<<" a:"<<arr[i]<<"b: "<<arr[j];
}
}
}
}
return count;
}
int main(){
int arr[] = {1,2,3,2,4,1,4 };
int n = sizeof(arr) / sizeof(arr[0]);
cout <<endl<<"Valid pairs in array:"<<countPairs(arr, n);
return 0;
}
输出结果
Valid pairs in array:a:1b: 1
a:2b: 2
a:4b: 43
以上是 计算满足C ++中给定条件的数组中的有效对 的全部内容, 来源链接: utcz.com/z/327319.html