Program for average of an array(Iterative and Recursive) in C++

Given an array of N integers arr[N], the task is to find the average of arr[N]. To achieve the result we can either use iterative approach or the recursive approach. We will be showing both in the given solution.
Average of an array will be sum of all the elements of an array divided by the number of elements.
In iterative approach, we use loops like for-loop, while-loop or do-while loop which executes the statements till the condition holds true which means 1.
Let’s take an example and then discuss how it can be obtained using iterative approach.
Input 
arr[] = {1, 2, 4, 5, 8}
Output 
4
Explanation 
sum of all the elements =1+2+4+5+8 = 20,
total number of elements = 5
Average will be = 20/5 = 4
Input 
arr[] = {10, 20, 30, 40}
Output 
25
Iterate each element of an array using a loop.
Iterate each element of an array using a loop.
Sum up each element of the array till we reach the end of the array.
Sum up each element of the array till we reach the end of the array.
Divide the sum with total number of elements and return the average.
Divide the sum with total number of elements and return the average.
Start
Step 1→ Declare function to calculate average using iterative method
   double avg(int arr[], int size)
      declare int sum = 0
      Loop For int i=0 and i<size and i++
         Set sum += arr[i]
      End
      return sum/size
Step 2→ In main()
   Declare int arr[] = {2,3,1,6,8,10}
   Declare int size = sizeof(arr)/sizeof(arr[0])
   Call avg(arr, size)
Stop
 Live Demo
#include <iostream>
using namespace std;
//calculate average using an iterative method
double avg(int arr[], int size){
   int sum = 0;
   for (int i=0; i<size; i++)
      sum += arr[i];
   return sum/size;
}
int main(){
   int arr[] = {2,3,1,6,8,10};
   int size = sizeof(arr)/sizeof(arr[0]);
   cout<<"average of an array using iterative method : "&l<t;avg(arr, size) << endl;
   return 0;
}
If run the above code it will generate the following output −
average of an array using iterative method : 5
So, what is a Recursive approach? In Recursive approach we recursively call a function again and again until we get the desirable result. In recursive approach the values returned by function is stored in stack memory.
Let’s take an example and then discuss how it can be obtained using iterative approach.
Input 
arr[] = {2, 4, 6, 8}
Output 
5
Explanation 
sum of all the elements =2+4+6+8 = 20,
total number of elements = 4
Average will be = 20/4 = 5
Input 
arr[] = {12, 23, 45, 15}
Output 
19
We will call the function again and again till we reach the end of an array.
We will call the function again and again till we reach the end of an array.
We will sum every element of the array and when we reach the end of an array, we will return the average of the array.
We will sum every element of the array and when we reach the end of an array, we will return the average of the array.
Start
Step 1→ Declare function to calculate average using recursive method
   double recursive(int arr[],int i, int size)
      IF (i == size-1)
         return arr[i]
      End
      IF (i == 0)
         return ((arr[i] + recursive(arr, i+1, size))/size)
      End
      return (arr[i] + recursive(arr, i+1, size))
Step 2→ double avg(int arr[], int size)
   return recursive(arr, 0 , size)
Step 3→ In main()
   Declare int arr[] = {1,5,3,2,6,7}
   Declare int size = sizeof(arr)/sizeof(arr[0])
   Call average(arr, size)
Stop
 Live Demo
#include <iostream>
using namespace std;
//function for calculating average recusively
double recursive(int arr[],int i, int size){
   if (i == size-1)
      return arr[i];
   if (i == 0)
      return ((arr[i] + recursive(arr, i+1, size))/size);
      return (arr[i] + recursive(arr, i+1, size));
}
//function for returning average
double average(int arr[], int size){
   return recursive(arr, 0 , size);
}
int main(){
   int arr[] = {1,5,3,2,6,7};
   int size = sizeof(arr)/sizeof(arr[0]);
   cout<<average of an array using a recursive approach is : "<<average(arr, size) << endl;
   return 0;
}
If run the above code it will generate the following output −
average of an array using a recursive approach is : 4