Indexování vektoru
Indexování v C++ začíná od 0 – pomůže ti, když budeš index chápat jako posun od začátku vektoru. x[0] má posun 0 a vrací první prvek vektoru x.
Toto cvičení je součástí kurzu
Optimizing R Code with Rcpp
Pokyny k cvičení
- Dokonči definici funkce
first_plus_last(), která vrátí součet prvního a posledního prvkuNumericVectoru. - Nastav
nna hodnotusize()vektorux. - Nastav
firstna první prvek vektorux. - Nastav
lastna poslední prvek vektorux.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
#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])
*/