Program for average of an array (Iterative and Recursive)
Last Updated :
21 Aug, 2022
Improve
Given an array, the task is to find average of that array. Average is the sum of array elements divided by the number of elements.
Examples :
Input : arr[] = {1, 2, 3, 4, 5} Output : 3 Sum of the elements is 1+2+3+4+5 = 15 and total number of elements is 5. So average is 15/5 = 3 Input : arr[] = {5, 3, 6, 7, 5, 3} Output : 4.83333 Sum of the elements is 5+3+6+7+5+3 = 29 and total number of elements is 6. So average is 29/6 = 4.83333.
Iterative:
Iterative program is easy. We need to find sum and divide sum by total number of elements.
// C++ program to calculate average of array elements
#include <iostream>
using namespace std;
// Function that return average of an array.
double average(int a[], int n)
{
// Find sum of array element
int sum = 0;
for (int i=0; i<n; i++)
sum += a[i];
return (double)sum/n;
}
// Driver code
int main()
{
int arr[] = {10, 2, 3, 4, 5, 6, 7, 8, 9};
int n = sizeof(arr)/sizeof(arr[0]);
cout << average(arr, n) << endl;
return 0;
}
// Java program to calculate average of array elements
class GFG {
// Function that return average of an array.
static double average(int a[], int n)
{
// Find sum of array element
int sum = 0;
for (int i = 0; i < n; i++)
sum += a[i];
return (double)sum / n;
}
//driver code
public static void main (String[] args)
{
int arr[] = {10, 2, 3, 4, 5, 6, 7, 8, 9};
int n = arr.length;
System.out.println(average(arr, n));
}
}
// This code is contributed by Anant Agarwal.
# Python3 code to calculate
# average of array elements
# Function that return
# average of an array.
def average( a , n ):
# Find sum of array element
sum = 0
for i in range(n):
sum += a[i]
return sum/n;
# Driver code
arr = [10, 2, 3, 4, 5, 6, 7, 8, 9]
n = len(arr)
print(average(arr, n))
# This code is contributed by "Shard_Bhardwaj".
// C# program to calculate average of
// array elements
using System;
class GFG {
// Function that return average of
// an array.
static double average(int []a, int n)
{
// Find sum of array element
int sum = 0;
for (int i = 0; i < n; i++)
sum += a[i];
return (double)sum / n;
}
// Driver code
public static void Main ()
{
int []arr = {10, 2, 3, 4, 5, 6,
7, 8, 9};
int n = arr.Length;
Console.Write(average(arr, n));
}
}
// This code is contributed by nitin mittal.
<?php
// PHP program to calculate average
// of array elements
// Function that return average of
// an array.
function average( $a, $n)
{
// Find sum of array element
$sum = 0;
for ( $i = 0; $i < $n; $i++)
$sum += $a[$i];
return $sum / $n;
}
// Driver code
$arr = array(10, 2, 3, 4, 5,
6, 7, 8, 9);
$n = count($arr);
echo average($arr, $n);
// This code is contributed by anuj_67.
?>
<script>
// JavaScript program to calculate average of array elements
// Function that return average of an array.
function average(a, n)
{
// Find sum of array element
var sum = 0;
for (var i = 0; i < n; i++) sum += a[i];
return parseFloat(sum / n);
}
// Driver code
var arr = [10, 2, 3, 4, 5, 6, 7, 8, 9];
var n = arr.length;
document.write(average(arr, n));
document.write("<br>");
// This code is contributed by rdtank.
</script>
Output
6
Time Complexity: O(n)
Auxiliary Space: O(1)
Recursive:
The idea is to pass index of element as an additional parameter and recursively compute sum. After computing sum, divide the sum by n.
// C++ program to calculate average of array elements
#include <iostream>
using namespace std;
// Recursively computes average of a[]
double avgRec(int a[], int i, int n)
{
// Last element
if (i == n-1)
return a[i];
// When index is 0, divide sum computed so
// far by n.
if (i == 0)
return ((a[i] + avgRec(a, i+1, n))/n);
// Compute sum
return (a[i] + avgRec(a, i+1, n));
}
// Function that return average of an array.
double average(int a[], int n)
{
return avgRec(a, 0, n);
}
// Driver code
int main()
{
int arr[] = {10, 2, 3, 4, 5, 6, 7, 8, 9};
int n = sizeof(arr)/sizeof(arr[0]);
cout << average(arr, n) << endl;
return 0;
}
// Java program to calculate average
// of array elements
class CalcAvg
{
// Recursively computes average of a[]
static double avgRec(int a[], int i, int n)
{
// Last element
if (i == n-1)
return a[i];
// When index is 0, divide sum computed so
// far by n.
if (i == 0)
return ((a[i] + avgRec(a, i+1, n))/n);
// Compute sum
return (a[i] + avgRec(a, i+1, n));
}
// Function that return average of an array.
static double average(int a[], int n)
{
return avgRec(a, 0, n);
}
// main function
public static void main (String[] args)
{
int arr[] = {10, 2, 3, 4, 5, 6, 7, 8, 9};
int n = arr.length;
System.out.println(average(arr, n));
}
}
# Python3 code to calculate
# average of array elements
# Recursively computes average of a[]
def avgRec( a , i , n ):
# Last element
if i == n-1:
return a[i]
# When index is 0, divide sum
# computed so far by n.
if i == 0:
return ((a[i] + avgRec(a, i+1, n)) / n)
# Compute sum
return (a[i] + avgRec(a, i+1, n))
# Function that return
# average of an array.
def average(a, n):
return avgRec(a, 0, n)
# Driver code
arr = [10, 2, 3, 4, 5, 6, 7, 8, 9]
n = len(arr)
print(average(arr, n))
# This code is contributed by "Sharad_Bhardwaj".
// C# program to calculate average
// of array elements
using System;
class GFG {
// Recursively computes average of a[]
static double avgRec(int []a, int i, int n)
{
// Last element
if (i == n-1)
return a[i];
// When index is 0, divide sum
// computed so far by n.
if (i == 0)
return ((a[i] + avgRec(a, i+1, n))/n);
// Compute sum
return (a[i] + avgRec(a, i+1, n));
}
// Function that return average of an array.
static double average(int []a, int n)
{
return avgRec(a, 0, n);
}
// main function
public static void Main ()
{
int []arr = {10, 2, 3, 4, 5, 6, 7, 8, 9};
int n = arr.Length;
Console.Write(average(arr, n));
}
}
// This code is contributed by Smitha.
<?php
// PHP program to calculate
// average of array elements
// Recursively computes
// average of a[]
function avgRec($a, $i, $n)
{
// Last element
if ($i == $n - 1)
return $a[$i];
// When index is 0, divide
// sum computed so far by n.
if ($i == 0)
return (($a[$i] +
avgRec($a, $i +
1, $n)) / $n);
// Compute sum
return ($a[$i] +
avgRec($a, $i + 1, $n));
}
// Function that return
// average of an array.
function average($a, $n)
{
return avgRec($a, 0, $n);
}
// Driver code
$arr = array(10, 2, 3, 4,
5, 6, 7, 8, 9);
$n = sizeof($arr);
echo average($arr, $n) ;
// This code is contributed by Anuj_67
?>
<script>
// Java script program to calculate average
// of array elements
// Recursively computes average of a[]
function avgRec(a, i, n)
{
// Last element
if (i == n - 1)
return a[i];
// When index is 0, divide sum computed so
// far by n.
if (i == 0)
return ((a[i] + avgRec(a, i + 1, n)) / n);
// Compute sum
return (a[i] + avgRec(a, i + 1, n));
}
// Function that return average of an array.
function average(a, n)
{
return avgRec(a, 0, n);
}
// Driver code
let arr = [ 10, 2, 3, 4, 5, 6, 7, 8, 9 ];
let n = arr.length;
document.write(average(arr, n));
// This code is contributed by sravan kumar G
</script>
Output
6
Time Complexity: O(n)
Auxiliary Space: O(n)
Related Article :
Average of a stream of numbers