Indexierung eines Vektors
In C++ beginnt die Indexierung bei 0. Es hilft, sich den Index als Versatz vom Anfang des Vektors vorzustellen. x[0] hat den Versatz 0 und liefert das erste Element von x.
Diese Übung ist Teil des Kurses
R-Code mit Rcpp optimieren
Anleitung zur Übung
- Vervollständige die Definition einer Funktion
first_plus_last(), die die Summe aus dem ersten und dem letzten Wert einesNumericVectorliefert. - Setze
nauf diesize()vonx. - Setze
firstauf das erste Element vonx. - Setze
lastauf das letzte Element vonx.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
#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])
*/