Comece agoraComece grátis

Sequência de inteiros

As funções que você escreveu nos exercícios anteriores faziam cálculos e depois retornavam um único número. Você também pode escrever funções que retornam um vetor.

A sintaxe para criar um tipo de vetor é especificar o tipo do vetor, seguido pelo nome da variável e, entre parênteses, o número de elementos do vetor. Por exemplo, para criar um vetor numérico chamado numbers contendo 10 elementos, o código seria o seguinte.

NumericVector numbers(10);

Este exercicio faz parte do curso

Otimizando código R com Rcpp

Ver curso

Instruções do exercicio

  • Complete a definição de uma função seq_cpp() que recebe dois inteiros, lo e hi, e retorna um IntegerVector com os números entre eles.
    • Defina o tipo de retorno como IntegerVector.
    • Crie um novo vetor de inteiros, sequence, de tamanho n.
    • Dentro do loop for, defina o elemento i-ésimo de sequence como lo mais i.
    • Retorne sequence.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

#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))
*/
Editar e Executar Código