BaşlayınÜcretsiz başlayın

Bir vektörde indeksleme

C++'ta indeksleme 0'dan başlar, bu yüzden indeksi vektörün başından itibaren bir öteleme (offset) gibi düşünmek işine yarar. x[0] öteleme 0'dadır ve x'in ilk elemanını verir.

Bu egzersiz, kursun bir parçasıdır

Rcpp ile R Kodunu Optimize Etme

Kursa Göz Atın

Egzersiz talimatları

  • Bir NumericVector'un ilk ve son değerlerinin toplamını veren first_plus_last() isimli fonksiyonun tanımını tamamla.
  • n'i x'in size() değeri olacak şekilde ayarla.
  • first'i x'in ilk elemanı olacak şekilde ayarla.
  • last'i x'in son elemanı olacak şekilde ayarla.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

#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])
*/
Kodu Düzenle ve Çalıştır