Skip to content
Related Articles

Related Articles

Replace the odd positioned elements with their cubes and even positioned elements with their squares
  • Last Updated : 25 Feb, 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++




// 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 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[0]);
 
    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




<?php
// PHP implementation of the approach
 
// Utility function to print
// the contents of an array
function printArr($arr, $n)
{
    for ($i = 0; $i < $n; $i++)
        echo $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] = 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
?>
Output: 
8 9 64 25 216

 

Time Complexity: O(n)

Auxiliary Space: O(1)

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.



My Personal Notes arrow_drop_up
Recommended Articles
Page :