Given an array **arr[]**, the task is to find the array formed from the difference of each element from the largest element in the given array.

**Example: **

Input:arr[] = {3, 6, 9, 2,6}

Output:{6, 3, 0, 7, 3}

Explanation:

Largest element of the array = 9

Therefore difference of arr[i] from 9:

Element 1: 9 – 3 = 6

Element 2: 9 – 6 = 3

Element 3: 9 – 9 = 0

Element 4: 9 – 2 = 7

Element 5: 9 – 6 = 3

Hence the output will be {6, 3, 0, 7, 3}

Input:arr[] = {7, 2, 5, 6, 3, 1, 6, 9}

Output:{2, 7, 4, 3, 6, 8, 3, 0}

**Approach:**

Find the largest of n elements in an array and store it in a variable largest. Now check the difference between largest and the other elements in the array.

Below is the implementation of the above approach:

## C++

`// C++ program to find the array formed ` `// from the difference of each element ` `// from the largest element in the given array ` ` ` `#include <iostream> ` `using` `namespace` `std; ` `int` `difference(` `int` `arr[], ` `int` `n) ` `{ ` ` ` `// Initializing current largest ` ` ` `// as the first element. ` ` ` `int` `largest = arr[0]; ` ` ` `int` `i; ` ` ` ` ` `// For loop to compute ` ` ` `// the largest element ` ` ` `for` `(i = 0; i < n; i++) { ` ` ` ` ` `// Checking if the current element ` ` ` `// is greater than the defined largest ` ` ` `if` `(largest < arr[i]) ` ` ` `largest = arr[i]; ` ` ` `} ` ` ` ` ` `// For loop to replace the elements ` ` ` `// in the array with the difference ` ` ` `for` `(i = 0; i < n; i++) ` ` ` `arr[i] = largest - arr[i]; ` ` ` ` ` `// For loop to print the elements ` ` ` `for` `(i = 0; i < n; i++) ` ` ` `cout << arr[i] << ` `" "` `; ` `} ` ` ` `// Driver code ` `int` `main() ` `{ ` ` ` `int` `arr[] = { 10, 5, 9, 3, 2 }; ` ` ` `int` `n = ` `sizeof` `(arr) / ` `sizeof` `(arr[0]); ` ` ` `difference(arr, n); ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java program to find the array formed ` `// from the difference of each element ` `// from the largest element in the given array ` `import` `java.util.*; ` ` ` `class` `GFG ` `{ ` `static` `void` `difference(` `int` `arr[], ` `int` `n) ` `{ ` ` ` `// Initializing current largest ` ` ` `// as the first element. ` ` ` `int` `largest = arr[` `0` `]; ` ` ` `int` `i; ` ` ` ` ` `// For loop to compute ` ` ` `// the largest element ` ` ` `for` `(i = ` `0` `; i < n; i++) ` ` ` `{ ` ` ` ` ` `// Checking if the current element ` ` ` `// is greater than the defined largest ` ` ` `if` `(largest < arr[i]) ` ` ` `largest = arr[i]; ` ` ` `} ` ` ` ` ` `// For loop to replace the elements ` ` ` `// in the array with the difference ` ` ` `for` `(i = ` `0` `; i < n; i++) ` ` ` `arr[i] = largest - arr[i]; ` ` ` ` ` `// For loop to print the elements ` ` ` `for` `(i = ` `0` `; i < n; i++) ` ` ` `System.out.print(arr[i] + ` `" "` `); ` `} ` ` ` `// Driver code ` `public` `static` `void` `main(String[] args) ` `{ ` ` ` `int` `arr[] = { ` `10` `, ` `5` `, ` `9` `, ` `3` `, ` `2` `}; ` ` ` `int` `n = arr.length; ` ` ` `difference(arr, n); ` `} ` `} ` ` ` `// This code is contributed by 29AjayKumar ` |

*chevron_right*

*filter_none*

## Python3

`# Python3 program to find the array formed ` `# from the difference of each element ` `# from the largest element in the given array ` `def` `difference(arr, n): ` ` ` ` ` `# Initializing current largest ` ` ` `# as the first element. ` ` ` `largest ` `=` `arr[` `0` `]; ` ` ` `i ` `=` `0` `; ` ` ` ` ` `# For loop to compute ` ` ` `# the largest element ` ` ` `for` `i ` `in` `range` `(n): ` ` ` ` ` `# Checking if the current element ` ` ` `# is greater than the defined largest ` ` ` `if` `(largest < arr[i]): ` ` ` `largest ` `=` `arr[i]; ` ` ` ` ` `# For loop to replace the elements ` ` ` `# in the array with the difference ` ` ` `for` `i ` `in` `range` `(n): ` ` ` `arr[i] ` `=` `largest ` `-` `arr[i]; ` ` ` ` ` `# For loop to prthe elements ` ` ` `for` `i ` `in` `range` `(n): ` ` ` `print` `(arr[i], end ` `=` `" "` `); ` ` ` `# Driver code ` `if` `__name__ ` `=` `=` `'__main__'` `: ` ` ` `arr ` `=` `[ ` `10` `, ` `5` `, ` `9` `, ` `3` `, ` `2` `]; ` ` ` `n ` `=` `len` `(arr); ` ` ` `difference(arr, n); ` ` ` `# This code is contributed by Rajput-Ji ` |

*chevron_right*

*filter_none*

## C#

`// C# program to find the array formed ` `// from the difference of each element ` `// from the largest element in the given array ` `using` `System; ` ` ` `class` `GFG ` `{ ` ` ` `static` `void` `difference(` `int` `[]arr, ` `int` `n) ` `{ ` ` ` `// Initializing current largest ` ` ` `// as the first element. ` ` ` `int` `largest = arr[0]; ` ` ` `int` `i; ` ` ` ` ` `// For loop to compute ` ` ` `// the largest element ` ` ` `for` `(i = 0; i < n; i++) ` ` ` `{ ` ` ` ` ` `// Checking if the current element ` ` ` `// is greater than the defined largest ` ` ` `if` `(largest < arr[i]) ` ` ` `largest = arr[i]; ` ` ` `} ` ` ` ` ` `// For loop to replace the elements ` ` ` `// in the array with the difference ` ` ` `for` `(i = 0; i < n; i++) ` ` ` `arr[i] = largest - arr[i]; ` ` ` ` ` `// For loop to print the elements ` ` ` `for` `(i = 0; i < n; i++) ` ` ` `Console.Write(arr[i] + ` `" "` `); ` `} ` ` ` `// Driver code ` `public` `static` `void` `Main(String[] args) ` `{ ` ` ` `int` `[]arr = { 10, 5, 9, 3, 2 }; ` ` ` `int` `n = arr.Length; ` ` ` `difference(arr, n); ` `} ` `} ` ` ` `// This code is contributed by PrinciRaj1992 ` |

*chevron_right*

*filter_none*

**Output:**

0 5 1 7 8

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.