LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Vervollständige die Definition einer Funktion first_plus_last(), die die Summe aus dem ersten und dem letzten Wert eines NumericVector liefert.
  • Setze n auf die size() von x.
  • Setze first auf das erste Element von x.
  • Setze last auf das letzte Element von x.

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])
*/
Code bearbeiten und ausführen