ComenzarEmpieza gratis

Indexar un vector

La indexación en C++ empieza en 0, así que puede ayudarte imaginar el índice como un desplazamiento desde el inicio del vector. x[0] está en el desplazamiento 0 y devuelve el primer elemento de x.

Este ejercicio forma parte del curso

Optimizar código de R con Rcpp

Ver curso

Instrucciones del ejercicio

  • Completa la definición de una función, first_plus_last(), que devuelve la suma del primer y el último valor de un NumericVector.
  • Asigna a n el size() de x.
  • Asigna a first el primer elemento de x.
  • Asigna a last el último elemento de x.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

#include 
using namespace Rcpp;

// [[Rcpp::export]]
double first_plus_last(NumericVector x) {
    // The size of x
    int n = ___;
    // The first element of x
    double first = ___;
    // The last element of x
    double last = ___;
    return first + last;
}

/*** R
x <- c(6, 28, 496, 8128)
first_plus_last(x)
# Does the function give the same answer as R?
all.equal(first_plus_last(x), x[1] + x[4])
*/
Editar y ejecutar código