# Count array elements that divide the sum of all other elements in C++

C++Server Side ProgrammingProgramming

We are given an array let’s say, arr[] of integer values and the task is to calculate the count of array elements that divides the sum of all other elements.

Arrays a kind of data structure that can store a fixed-size sequential collection of elements of the same type. An array is used to store a collection of data, but it is often more useful to think of an array as a collection of variables of the same type.

## For Example

Input − int arr_1[] = {9, 6, 3}
Output − count is 3

Explanation − As the sum of elements 9+6 = 15 which is divisible by 3, sum of elements 9+3 =12 which is divisible by 6 and 6+3 = 9 which is divisible by 9. Therefore, count is 3.

Input − arr[] = {3, 10, 4, 6, 7}
Output − count is 3

Explanation − As the sum of elements 10+4+6+7 = 27 which is divisible by 3, sum of elements 3+4+6+7 =20 which is divisible by 10 and 3+10+4+7 = 24 which is divisible by 6. Therefore, count is 3.

## Approach used in the below program is as follows

• Create an array let’s say, arr[]

• Calculate the length of an array using the length() function that will return an integer value as per the elements in an array.

• Take a temporary variable that will store the count of elements.

• Start loop for i to 0 and i less than size of array

• Inside the loop, set temporary variable let’s say temp to 0

• Inside the loop, start another loop for j to 0 and j less than size of an array

• Check if i = j then continue

• Else, set temp = temp + arr[j]

• Now check if temp % arr[i] =0 then increment the value of count by 1

• Return the count

• Print the result.

## Example

Live Demo

#include <iostream>
using namespace std;
int countelements( int arr_1[], int size){
// To store the count of required numbers
int result = 0;
for (int i = 0; i < size; i++){
// Initialize sum to 0
int sum = 0;
for (int j = 0; j < size; j++){
if (i == j){
continue;
}
else{
sum += arr_1[j];
}
}
// If sum is divisible by the chosen element
if (sum % arr_1[i] == 0){
result++;
}
}
// Return the count
return result;
}
// main function
int main(){
int arr_1[] = { 1, 2, 3, 4, 5, 6 };
int size = sizeof(arr_1) / sizeof(arr_1);
cout <<"count is " <<countelements(arr_1, size);
return 0;
}

## Output

If we run the above code we will get the following output −

count is 2