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
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 unNumericVector. - Asigna a
nelsize()dex. - Asigna a
firstel primer elemento dex. - Asigna a
lastel último elemento dex.
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])
*/