Comece agoraComece grátis

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

Ver curso

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 um NumericVector.
  • Defina n como o size() de x.
  • Defina first como o primeiro elemento de x.
  • Defina last como o último elemento de x.

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])
*/
Editar e Executar Código