Reemplace los elementos de la array por la suma de los siguientes dos elementos consecutivos

Dada una array arr[] de tamaño n , la tarea es reemplazar cada elemento de la array por la suma de los siguientes dos elementos consecutivos de manera circular , es decir, arr[0] = arr[1] + arr[2] , arr[ 1] = arr[2] + arr[3] , … arr[n – 1] = arr[0] + arr[1] .
Ejemplos: 
 

Entrada: arr[] = {3, 4, 2, 1, 6} 
Salida: 6 3 7 9 7
Entrada: arr[] = {5, 2, 1, 3, 8} 
Salida: 3 4 11 13 7 
 

Enfoque: almacene el primer y segundo elemento de la array en las variables first y second . Ahora, para cada elemento excepto el último y el penúltimo elemento de la array, actualice arr[i] = arr[i + 1] + arr[i + 2] . Luego actualice el último y el penúltimo elemento como arr[n – 2] = arr[n – 1] + first y arr[n – 1] = first + second .
A continuación se muestra la implementación del enfoque anterior:
 

C++

// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
 
// Utility function to print the
// contents of an array
void printArr(int arr[], int n)
{
    for (int i = 0; i < n; i++)
        cout << arr[i] << " ";
}
 
// Function to update every element of
// the array as the sum of next two elements
void updateArr(int arr[], int n)
{
 
    // Invalid array
    if (n < 3)
        return;
 
    // First and second elements of the array
    int first = arr[0];
    int second = arr[1];
 
    // Update every element as required
    // except the last and the
    // second last element
    for (int i = 0; i < n - 2; i++)
        arr[i] = arr[i + 1] + arr[i + 2];
 
    // Update the last and the second
    // last element of the array
    arr[n - 2] = arr[n - 1] + first;
    arr[n - 1] = first + second;
 
    // Print the updated array
    printArr(arr, n);
}
 
// Driver code
int main()
{
    int arr[] = { 3, 4, 2, 1, 6 };
    int n = sizeof(arr) / sizeof(arr[0]);
    updateArr(arr, n);
 
    return 0;
}

Java

// Java implementation of the approach
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 every element of
    // the array as the sum of next two elements
    static void updateArr(int[] arr, int n)
    {
 
        // Invalid array
        if (n < 3)
        {
            return;
        }
 
        // First and second elements of the array
        int first = arr[0];
        int second = arr[1];
 
        // Update every element as required
        // except the last and the
        // second last element
        for (int i = 0; i < n - 2; i++)
        {
            arr[i] = arr[i + 1] + arr[i + 2];
        }
 
        // Update the last and the second
        // last element of the array
        arr[n - 2] = arr[n - 1] + first;
        arr[n - 1] = first + second;
 
        // Print the updated array
        printArr(arr, n);
    }
 
    // Driver code
    public static void main(String[] args)
    {
        int[] arr = {3, 4, 2, 1, 6};
        int n = arr.length;
        updateArr(arr, n);
    }
}
 
// This code is contributed by 29AjayKumar

Python3

# Python 3 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 every element of
# the array as the sum of next two elements
def updateArr(arr, n):
     
    # Invalid array
    if (n < 3):
        return
 
    # First and second elements of the array
    first = arr[0]
    second = arr[1]
 
    # Update every element as required
    # except the last and the
    # second last element
    for i in range(n - 2):
        arr[i] = arr[i + 1] + arr[i + 2]
 
    # Update the last and the second
    # last element of the array
    arr[n - 2] = arr[n - 1] + first
    arr[n - 1] = first + second
 
    # Print the updated array
    printArr(arr, n)
 
# Driver code
if __name__ == '__main__':
    arr = [3, 4, 2, 1, 6]
    n = len(arr)
    updateArr(arr, n)
     
# This code is contributed by
# Surendra_Gangwar

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 every element of
// the array as the sum of next two elements
static void updateArr(int []arr, int n)
{
 
    // Invalid array
    if (n < 3)
        return;
 
    // First and second elements of the array
    int first = arr[0];
    int second = arr[1];
 
    // Update every element as required
    // except the last and the
    // second last element
    for (int i = 0; i < n - 2; i++)
        arr[i] = arr[i + 1] + arr[i + 2];
 
    // Update the last and the second
    // last element of the array
    arr[n - 2] = arr[n - 1] + first;
    arr[n - 1] = first + second;
 
    // Print the updated array
    printArr(arr, n);
}
 
// Driver code
public static void Main()
{
    int []arr = { 3, 4, 2, 1, 6 };
    int n = arr.Length;
    updateArr(arr, n);
}
}
 
// This code is contributed
// by Akanksha Rai

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 every element
// of the array as the sum of next
// two elements
function updateArr($arr, $n)
{
 
    // Invalid array
    if ($n < 3)
        return;
 
    // First and second elements
    // of the array
    $first = $arr[0];
    $second = $arr[1];
 
    // Update every element as required
    // except the last and the
    // second last element
    for ($i = 0; $i < ($n - 2); $i++)
        $arr[$i] = $arr[$i + 1] +
                   $arr[$i + 2];
 
    // Update the last and the second
    // last element of the array
    $arr[$n - 2] = $arr[$n - 1] + $first;
    $arr[$n - 1] = $first + $second;
 
    // Print the updated array
    printArr($arr, $n);
}
 
// Driver code
$arr = array (3, 4, 2, 1, 6 );
$n = sizeof($arr);
updateArr($arr, $n);
 
// This code is contributed by ajit.
?>

Javascript

<script>
// Javascript implementation of the approach
 
// Utility function to print the
// contents of an array
function printArr( arr, n)
{
    for (let i = 0; i < n; i++)
        document.write(arr[i] + " ");
}
 
// Function to update every element of
// the array as the sum of next two elements
function updateArr( arr, n)
{
 
    // Invalid array
    if (n < 3)
        return;
 
    // First and second elements of the array
    let first = arr[0];
    let second = arr[1];
 
    // Update every element as required
    // except the last and the
    // second last element
    for (let i = 0; i < n - 2; i++)
        arr[i] = arr[i + 1] + arr[i + 2];
 
    // Update the last and the second
    // last element of the array
    arr[n - 2] = arr[n - 1] + first;
    arr[n - 1] = first + second;
 
    // Print the updated array
    printArr(arr, n);
}
 
    // driver code
    let arr = [ 3, 4, 2, 1, 6 ];
    let n = arr.length;
    updateArr(arr, n);
 
// This code is contributed by jana_sayantan.
     
</script>
Producción: 

6 3 7 9 7

 

Publicación traducida automáticamente

Artículo escrito por avinash1605 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *