Given an array arr of integer elements, the task is to find the range and coefficient of range of the given array where:
Range: Difference between the maximum value and the minimum value in the distribution.
Coefficient of Range: (Max – Min) / (Max + Min).
Examples:
Input: arr[] = {15, 16, 10, 9, 6, 7, 17}
Output: Range : 11
Coefficient of Range : 0.478261
Max = 17, Min = 6
Range = Max – Min = 17 – 6 = 11
Coefficient of Range = (Max – Min) / (Max + Min) = 11 / 23 = 0.478261Input: arr[] = {5, 10, 15}
Output: Range : 10
Coefficient of Range : 0.5
Approach: Find the maximum and minimum element from the given array and calculate the range and the coefficient of range as follows:
- Range = Max – Min
- Coefficient of Range = (Max – Min) / (Max + Min)
Below is the implementation of the above approach:
C++
// C++ implementation to find // Range and coefficient of range #include <iostream> #include <numeric> using namespace std; // Function to return the minimum element from the array float getMin( float arr[], int n) { float res = arr[0]; for ( int i = 1; i < n; i++) res = min(res, arr[i]); return res; } // Function to return the maximum element from the array float getMax( float arr[], int n) { float res = arr[0]; for ( int i = 1; i < n; i++) res = max(res, arr[i]); return res; } // Function to print the Range and // Coefficient of Range in the given array void findRangeAndCoefficient( float arr[], int n) { float max = getMax(arr, n); float min = getMin(arr, n); float range = max - min; float coeffOfRange = range / (max + min); cout << "Range : " << range << endl; cout << "Coefficient of Range : " << coeffOfRange; } // Driver code int main() { float arr[] = { 5, 10, 15 }; int n = sizeof (arr) / sizeof (arr[0]); findRangeAndCoefficient(arr, n); return 0; } |
Java
// Java implementation to find // Range and coefficient of range import java.io.*; class GFG { // Function to return the minimum element from the array static float getMin( float arr[], int n) { float res = arr[ 0 ]; for ( int i = 1 ; i < n; i++) res = Math.min(res, arr[i]); return res; } // Function to return the maximum element from the array static float getMax( float arr[], int n) { float res = arr[ 0 ]; for ( int i = 1 ; i < n; i++) res = Math.max(res, arr[i]); return res; } // Function to print the Range and // Coefficient of Range in the given array static void findRangeAndCoefficient( float arr[], int n) { float max = getMax(arr, n); float min = getMin(arr, n); float range = max - min; float coeffOfRange = range / (max + min); System.out.println( "Range : " + range ); System.out.println( "Coefficient of Range : " + coeffOfRange); } // Driver code public static void main (String[] args) { float arr[] = { 5 , 10 , 15 }; int n = arr.length; findRangeAndCoefficient(arr, n); } } |
Python3
# Python 3 implementation to find # Range and coefficient of range # Function to return the minimum # element from the array def getMin(arr, n): res = arr[ 0 ] for i in range ( 1 , n, 1 ): res = min (res, arr[i]) return res # Function to return the maximum # element from the array def getMax(arr, n): res = arr[ 0 ] for i in range ( 1 , n, 1 ): res = max (res, arr[i]) return res # Function to print the Range and # Coefficient of Range in the given array def findRangeAndCoefficient(arr, n): max = getMax(arr, n) min = getMin(arr, n) range = max - min coeffOfRange = range / ( max + min ) print ( "Range :" , range ) print ( "Coefficient of Range :" , coeffOfRange) # Driver code if __name__ = = '__main__' : arr = [ 5 , 10 , 15 ] n = len (arr) findRangeAndCoefficient(arr, n) # This code is contributed by # Surendra_Gangwar |
C#
// C# implementation to find // Range and coefficient of range using System; public class GFG{ // Function to return the minimum element from the array static float getMin( float []arr, int n) { float res = arr[0]; for ( int i = 1; i < n; i++) res = Math.Min(res, arr[i]); return res; } // Function to return the maximum element from the array static float getMax( float []arr, int n) { float res = arr[0]; for ( int i = 1; i < n; i++) res = Math.Max(res, arr[i]); return res; } // Function to print the Range and // Coefficient of Range in the given array static void findRangeAndCoefficient( float []arr, int n) { float max = getMax(arr, n); float min = getMin(arr, n); float range = max - min; float coeffOfRange = range / (max + min); Console.WriteLine ( "Range : " + range ); Console.WriteLine ( "Coefficient of Range : " + coeffOfRange); } // Driver code static public void Main (){ float []arr = { 5, 10, 15 }; int n = arr.Length; findRangeAndCoefficient(arr, n); } //This code is contributed by akt_mit. } |
PHP
<?php // PHP implementation to find // Range and coefficient of range // Function to return the minimum // element from the array function getMin( $arr , $n ) { $res = $arr [0]; for ( $i = 1; $i < $n ; $i ++) $res = min( $res , $arr [ $i ]); return $res ; } // Function to return the maximum // element from the array function getMax( $arr , $n ) { $res = $arr [0]; for ( $i = 1; $i < $n ; $i ++) $res = max( $res , $arr [ $i ]); return $res ; } // Function to print the Range and // Coefficient of Range in the given array function findRangeAndCoefficient( $arr , $n ) { $max = getMax( $arr , $n ); $min = getMin( $arr , $n ); $range = $max - $min ; $coeffOfRange = $range / ( $max + $min ); echo "Range : " , $range , "\n" ; echo "Coefficient of Range : " , $coeffOfRange ; } // Driver code $arr = array ( 5, 10, 15 ); $n = sizeof( $arr ); findRangeAndCoefficient( $arr , $n ); // This code is contributed by jit_t ?> |
Range : 10 Coefficient of Range : 0.5
Time complexity : O(n)
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.