Začněte nyníZačněte zdarma

Posloupnost celých čísel

Funkce, které jsi napsal/a v předchozích cvičeních, prováděly výpočty a vracely jedno číslo. Můžeš ale také psát funkce, které vrátí celý vektor.

Vektor vytvoříš tak, že zadáš typ vektoru, za ním název proměnné a v závorce počet prvků. Například číselný vektor numbers s 10 prvky vytvoříš takto:

NumericVector numbers(10);

Toto cvičení je součástí kurzu

Optimizing R Code with Rcpp

Zobrazit kurz

Pokyny k cvičení

  • Dokonči definici funkce seq_cpp(), která přijme dvě celá čísla lo a hi a vrátí IntegerVector s čísly mezi nimi.
    • Nastav návratový typ na IntegerVector.
    • Vytvoř nový celočíselný vektor sequence o velikosti n.
    • Uvnitř smyčky for nastav i-tý prvek vektoru sequence na hodnotu lo plus i.
    • Vrať sequence.

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;

// Set the return type to IntegerVector
// [[Rcpp::export]]
___ seq_cpp(int lo, int hi) {
  int n = hi - lo + 1;
    
  // Create a new integer vector, sequence, of size n
  ___;
    
  for(int i = 0; i < n; i++) {
    // Set the ith element of sequence to lo plus i
    ___;
  }
  
  return ___;
}

/*** R
lo <- -2
hi <- 5
seq_cpp(lo, hi)
# Does it give the same answer as R's seq() function?
all.equal(seq_cpp(lo, hi), seq(lo, hi))
*/
Upravit a spustit kód