Indexando um vetor
A indexação em C++ começa em 0, então pode ajudar imaginar o índice como um deslocamento a partir do início do vetor. x[0] está no deslocamento 0 e retorna o primeiro elemento de x.
Este exercicio faz parte do curso
Otimizando código R com Rcpp
Instruções do exercicio
- Complete a definição de uma função,
first_plus_last(), que retorna a soma dos primeiros e últimos valores de umNumericVector. - Defina
ncomo osize()dex. - Defina
firstcomo o primeiro elemento dex. - Defina
lastcomo o último elemento dex.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
#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])
*/