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

09 Dec, 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 {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++
Java
Python3
C#
PHP
Javascript
// 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 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 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# 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 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?>
<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)
mohit kumar 29
Code_Mech
princiraj1992
Mithun Kumar
subham348
GauravRajput1
simranarora5sos
school-programming
Arrays
C++ Programs
Arrays
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Next Greater Element
Window Sliding Technique
Count pairs with given sum
Program to find sum of elements in a given array
Reversal algorithm for array rotation
Header files in C/C++ and its uses
C++ Program for QuickSort
How to return multiple values from a function in C or C++?
Program to print ASCII Value of a character
C++ program for hashing with chaining