给定一个包含整数元素和整数num的数组arr []。目的是找到每个元素arr [i]和num的平均值,并打印该平均值出现在原始数组中的次数计数。
如果数组arr []为[5,2,3]并且num为2。平均值将是[3,2,2]出现在arr []中是[1,1,1]
例如
arr[] = { 1, 6, 4, 3, 6, 4 } num=2输出结果1 2 1 0 2 1
具有给定数目的数组元素的平均出现次数为-5
The num is 4 and averages with all other numbers in arr[] is : [ 1, 4, 3, 2, 4, 3 ] occurrences of these in arr[]= [ 1, 2, 1, 0, 2, 1 ]
arr[] = { 4, 8, 24, 16, 20, 40 } num=4输出结果1 0 0 0 0 0
具有给定数目的数组元素的平均值的出现次数为− 1
The num is 4 and averages with all other numbers in arr[] is : [ 4, 6, 14, 10, 12, 22 ] occurrences of these in arr[]= [ 1, 0, 0, 0, 0, 0 ]
以下程序中使用的方法如下-
在这种方法中,我们将创建一个映射,用于将平均值及其计数存储在原始数组中。我们会将这些计数添加到单独的数组中以打印出现的次数。
取一个整数类型的arr []。
将输入num作为整数。
函数函数ences_average(int arr [],int size,int num)接受输入数组和num,并在arr []中打印平均值的出现数组。它返回非零出现的计数。
取初始计数= 0。
取一个map <int,int> map_pair将唯一数字的计数存储在arr []中。
取一个total []数组来存储每个平均值的计数。
使用for循环从索引i = 0到i <size遍历数组arr []。对于每个元素,使用map_pair [arr [i]] ++为相应键的增量值。
在循环的最后,我们将唯一的数字作为键,并将它们在arr []中的计数作为值。
使用for循环再次遍历数组,以计算每个单独元素的num平均值,并存储在temp中。
如果使用map_在map_pair中找到该温度pair.find(temp) != map_pair.end(),然后将其添加到总计数组中。
打印数组总计,以计算arr []中出现的平均值。对于每个非零元素,增加计数。
返回计数作为结果。
#include<bits/stdc++.h>
using namespace std;
int occurrence_average(int arr[], int size, int num){
int count = 0;
map<int,int> map_pair;
int total[size] = {0};
int val, av;
for (int i = 0; i < size; i++){
if (map_pair[arr[i]] == 0){
map_pair[arr[i]] = 1;
} else {
map_pair[arr[i]]++;
}
}
for (int i = 0; i < size; i++){
int temp = int((arr[i] + num) / 2);
if(map_pair.find(temp) != map_pair.end()){
int set = map_pair[temp];
total[i] = set;
}
}
cout<<endl;
for(int i=0;i<size;i++){
cout<<total[i]<<" ";
if(total[i]>0){
count++;
}
}
return count;
}
int main(){
int arr[] = { 4, 8, 24, 16, 20, 40 };
int size = sizeof(arr)/sizeof(arr[0]);
int num = 4;
cout<<endl<<"Count of occurrences of the average of array elements with a given
number are: "<<occurrence_average(arr, size, num);
}输出结果如果我们运行上面的代码,它将生成以下输出-
Count of occurrences of the average of array elements with a given number are: 1 0 0 0 0 0 1