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

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 {arr[0]3, arr[1]2, arr[2]3, arr[3]2, …}.
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
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 <bits/stdc++.h>using namespace std;#define ll long long int// Utility function to print// the contents of an arrayvoid printArr(ll arr[], int n){ for (int i = 0; i < n; i++) cout << arr[i] << " ";}// Function to update the arrayvoid 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 codeint main(){ ll arr[] = { 2, 3, 4, 5, 6 }; int n = sizeof(arr) / sizeof(arr[0]); updateArr(arr, n); return 0;} |
Java
// Java implementation of the approachimport java.lang.Math;class GFG{ // Utility function to print// the contents of an arraystatic void printArr(int arr[], int n){ for (int i = 0; i < n; i++) System.out.print(arr[i] + " ");}// Function to update the arraystatic 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 codepublic 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 arraydef printArr(arr,n): for i in range(n): print(arr[i], end = " ")# Function to update the arraydef 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 codearr = [ 2, 3, 4, 5, 6 ]n = len(arr)updateArr(arr, n)# This code is contributed# by mohit kumar |
C#
// C# implementation of the approachusing System; class GFG{ // Utility function to print// the contents of an arraystatic void printArr(int []arr, int n){ for (int i = 0; i < n; i++) Console.Write(arr[i] + " ");}// Function to update the arraystatic 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 codepublic 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
<?php// PHP implementation of the approach// Utility function to print// the contents of an arrayfunction printArr($arr, $n){ for ($i = 0; $i < $n; $i++) echo $arr[$i] . " ";}// Function to update the arrayfunction updateArr($arr, $n){ for ($i = 0; $i < $n; $i++) { // 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 = array( 2, 3, 4, 5, 6 );$n = count($arr);updateArr($arr, $n);// This code is contributed by mits?> |
Javascript
<script>// javascript implementation of the approach // Utility function to print // the contents of an array function printArr(arr , n) { for (i = 0; i < n; i++) document.write(arr[i] + " "); } // Function to update the array function updateArr(arr , n) { for (i = 0; i < n; i++) { // In case of even positioned element if ((i + 1) % 2 == 0) arr[i] = parseInt( Math.pow(arr[i], 2)); // Odd positioned element else arr[i] = parseInt( Math.pow(arr[i], 3)); } // Print the updated array printArr(arr, n); } // Driver code var arr = [ 2, 3, 4, 5, 6 ]; var n = arr.length; updateArr(arr, n);// This code contributed by gauravrajput1 </script> |
8 9 64 25 216
Time Complexity: O(n)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



