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++
// 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
// 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
# 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#
// 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 // 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. ?> |
Javascript
<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++
// 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
// 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
# 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#
// 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 // 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 ?> |
Javascript
<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