Sum and Product of minimum and maximum element of an Array

Given an array. The task is to find the sum and product of the maximum and minimum elements of the given array.

Examples:

Input : arr[] = {12, 1234, 45, 67, 1}
Output : Sum = 1235
         Product = 1234

Input : arr[] = {5, 3, 6, 8, 4, 1, 2, 9}
Output : Sum = 10
         Product = 9


Take to variables min and max to store the minimum and maximum elements of the array. Find the minimum and the maximum element and store in these variables respectively. Finally, print the sum and product of the minimum and maximum elements.

Below is the program to illustrate above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to find the sum  and product
// of minimum and maximum element in an array
  
#include <iostream>
using namespace std;
  
// Function to find minimum element
int getMin(int arr[], int n)
{
    int res = arr[0];
    for (int i = 1; i < n; i++)
        res = min(res, arr[i]);
    return res;
}
  
// Function to find maximum element
int getMax(int arr[], int n)
{
    int res = arr[0];
    for (int i = 1; i < n; i++)
        res = max(res, arr[i]);
    return res;
}
  
// Function to get Sum
int findSum(int arr[], int n)
{
    int min = getMin(arr, n);
    int max = getMax(arr, n);
  
    return min + max;
}
  
// Function to get product
int findProduct(int arr[], int n)
{
    int min = getMin(arr, n);
    int max = getMax(arr, n);
  
    return min * max;
}
  
// Driver Code
int main()
{
    int arr[] = { 12, 1234, 45, 67, 1 };
    int n = sizeof(arr) / sizeof(arr[0]);
  
    // Sum of min and max element
    cout << "Sum = " << findSum(arr, n) << endl;
  
    // Product of min and max element
    cout << "Product = " << findProduct(arr, n);
  
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java  program to find the sum and product
// of minimum and maximum element in an array
  
import java.io.*;
  
class GFG {
      
    // Function to find minimum element
static int getMin(int arr[], int n)
{
    int res = arr[0];
    for (int i = 1; i < n; i++)
        res = Math.min(res, arr[i]);
    return res;
}
  
// Function to find maximum element
static int getMax(int arr[], int n)
{
    int res = arr[0];
    for (int i = 1; i < n; i++)
        res = Math.max(res, arr[i]);
    return res;
}
  
// Function to get Sum
static int findSum(int arr[], int n)
{
    int min = getMin(arr, n);
    int max = getMax(arr, n);
  
    return min + max;
}
  
// Function to get product
static int findProduct(int arr[], int n)
{
    int min = getMin(arr, n);
    int max = getMax(arr, n);
  
    return min * max;
}
  
// Driver Code
      
    public static void main (String[] args) {
    int arr[] = { 12, 1234, 45, 67, 1 };
    int n = arr.length;
  
    // Sum of min and max element
        System.out.println ("Sum = " + findSum(arr, n));
  
    // Product of min and max element
        System.out.println( "Product = " + findProduct(arr, n));
  
          
          
    }
}
//This Code is contributed by anuj_67....

chevron_right


Python 3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python 3 program to find the sum and product
# of minimum and maximum element in an array
  
# Function to find minimum element
def getMin(arr, n):
    res = arr[0]
    for i in range(1, n):
        res = min(res, arr[i])
    return res
  
# Function to find maximum element
def getMax(arr, n):
    res = arr[0]
    for i in range(1, n):
        res = max(res, arr[i])
    return res
  
# Function to get Sum
def findSum(arr, n):
    min = getMin(arr, n)
    max = getMax(arr, n)
  
    return min + max
  
# Function to get product
def findProduct(arr, n):
    min = getMin(arr, n)
    max = getMax(arr, n)
  
    return min * max
  
# Driver Code
if __name__ == "__main__":
      
    arr = [ 12, 1234, 45, 67, 1 ]
    n = len(arr)
  
    # Sum of min and max element
    print("Sum = " , findSum(arr, n))
  
    # Product of min and max element
    print("Product = " , findProduct(arr, n))
  
# This code is contributed 
# by ChitraNayal

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to find the sum and product
// of minimum and maximum element in an array
using System;
  
class GFG {
      
// Function to find minimum element
static int getMin(int []arr, int n)
{
    int res = arr[0];
    for (int i = 1; i < n; i++)
        res = Math.Min(res, arr[i]);
    return res;
}
  
// Function to find maximum element
static int getMax(int []arr, int n)
{
    int res = arr[0];
    for (int i = 1; i < n; i++)
        res = Math.Max(res, arr[i]);
    return res;
}
  
// Function to get Sum
static int findSum(int []arr, int n)
{
    int min = getMin(arr, n);
    int max = getMax(arr, n);
  
    return min + max;
}
  
// Function to get product
static int findProduct(int []arr, int n)
{
    int min = getMin(arr, n);
    int max = getMax(arr, n);
  
    return min * max;
}
  
    // Driver Code
    public static void Main() 
    {
        int []arr = { 12, 1234, 45, 67, 1 };
        int n = arr.Length;
      
        // Sum of min and max element
        Console.WriteLine("Sum = " + findSum(arr, n));
  
        // Product of min and max element
        Console.WriteLine( "Product = " + findProduct(arr, n));
    }
}
  
// This Code is contributed by anuj_67....

chevron_right


PHP

Output:

Sum = 1235
Product = 1234


Optimizations

We can use a single loop to find both maximum and minimum. This would require only one traversal of array.

In C++, there are direct function to find maximum and minimum : max_element() and min_element()



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : vt_m, ChitraNayal, Akanksha_Rai