# Replace the odd positioned elements with their cubes and even positioned elements with their squares

• Last Updated : 03 May, 2021

Given an array arr[] of n elements, the task is to replace all the odd positioned elements with their cubes and even positioned elements with their squares i.e. the resultant array must be {arr3, arr2, arr3, arr2, …}.
Examples:

Input: arr[]= {2, 3, 4, 5}
Output: 8 9 64 25
Updated array will be {23, 32, 43, 52} -> {8, 9, 64, 25}
Input: arr[] = {3, 4, 5, 2}
Output: 27 16 125 4

Attention reader! All those who say programming isn't for kids, just haven't met the right mentors yet. Join the  Demo Class for First Step to Coding Coursespecifically designed for students of class 8 to 12.

The students will get to learn more about the world of programming in these free classes which will definitely help them in making a wise career choice in the future.

Approach: For any element of the array arr[i], it is odd positioned only if (i + 1) is odd as the indexing starts from 0. Now, traverse the array and replace all the odd positioned elements with their cubes and even positioned elements with their squares.
Below is the implementation of the above approach:

## C++

 `// C++ implementation of the approach``#include ``using` `namespace` `std;``#define ll long long int` `// Utility function to print``// the contents of an array``void` `printArr(ll arr[], ``int` `n)``{``    ``for` `(``int` `i = 0; i < n; i++)``        ``cout << arr[i] << ``" "``;``}` `// Function to update the array``void` `updateArr(ll arr[], ``int` `n)``{``    ``for` `(``int` `i = 0; i < n; i++) {` `        ``// In case of even positioned element``        ``if` `((i + 1) % 2 == 0)``            ``arr[i] = (ll)``pow``(arr[i], 2);` `        ``// Odd positioned element``        ``else``            ``arr[i] = (ll)``pow``(arr[i], 3);``    ``}` `    ``// Print the updated array``    ``printArr(arr, n);``}` `// Driver code``int` `main()``{``    ``ll arr[] = { 2, 3, 4, 5, 6 };``    ``int` `n = ``sizeof``(arr) / ``sizeof``(arr);` `    ``updateArr(arr, n);` `    ``return` `0;``}`

## Java

 `// Java implementation of the approach``import` `java.lang.Math;` `class` `GFG``{``    ` `// Utility function to print``// the contents of an array``static` `void` `printArr(``int` `arr[], ``int` `n)``{``    ``for` `(``int` `i = ``0``; i < n; i++)``        ``System.out.print(arr[i] + ``" "``);``}` `// Function to update the array``static` `void` `updateArr(``int` `arr[], ``int` `n)``{``    ``for` `(``int` `i = ``0``; i < n; i++)``    ``{` `        ``// In case of even positioned element``        ``if` `((i + ``1``) % ``2` `== ``0``)``            ``arr[i] = (``int``)Math.pow(arr[i], ``2``);` `        ``// Odd positioned element``        ``else``            ``arr[i] = (``int``)Math.pow(arr[i], ``3``);``    ``}` `    ``// Print the updated array``    ``printArr(arr, n);``}` `// Driver code``public` `static` `void` `main(String[] args)``{``    ``int` `arr[] = { ``2``, ``3``, ``4``, ``5``, ``6` `};``    ``int` `n = arr.length;` `    ``updateArr(arr, n);``}``}` `// This code is contributed``// by Code_Mech.`

## Python3

 `# Python3 implementation of the approach` `# Utility function to print``# the contents of an array``def` `printArr(arr,n):``    ``for` `i ``in` `range``(n):``        ``print``(arr[i], end ``=` `" "``)` `# Function to update the array``def` `updateArr(arr, n):``    ``for` `i ``in` `range``(n):` `        ``# In case of even positioned element``        ``if` `((i ``+` `1``) ``%` `2` `=``=` `0``):``            ``arr[i] ``=` `pow``(arr[i], ``2``)` `        ``# Odd positioned element``        ``else``:``            ``arr[i] ``=` `pow``(arr[i], ``3``)``    ` `    ``# Print the updated array``    ``printArr(arr, n)` `# Driver code``arr ``=` `[ ``2``, ``3``, ``4``, ``5``, ``6` `]``n ``=` `len``(arr)` `updateArr(arr, n)` `# This code is contributed``# by mohit kumar`

## C#

 `// C# implementation of the approach``using` `System;``    ` `class` `GFG``{``    ` `// Utility function to print``// the contents of an array``static` `void` `printArr(``int` `[]arr, ``int` `n)``{``    ``for` `(``int` `i = 0; i < n; i++)``        ``Console.Write(arr[i] + ``" "``);``}` `// Function to update the array``static` `void` `updateArr(``int` `[]arr, ``int` `n)``{``    ``for` `(``int` `i = 0; i < n; i++)``    ``{` `        ``// In case of even positioned element``        ``if` `((i + 1) % 2 == 0)``            ``arr[i] = (``int``)Math.Pow(arr[i], 2);` `        ``// Odd positioned element``        ``else``            ``arr[i] = (``int``)Math.Pow(arr[i], 3);``    ``}` `    ``// Print the updated array``    ``printArr(arr, n);``}` `// Driver code``public` `static` `void` `Main(String[] args)``{``    ``int` `[]arr = { 2, 3, 4, 5, 6 };``    ``int` `n = arr.Length;` `    ``updateArr(arr, n);``}``}` `/* This code contributed by PrinciRaj1992 */`

## PHP

 ``

## Javascript

 ``
Output:
`8 9 64 25 216`

Time Complexity: O(n)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up