Olá Edson!

Obrigada por responder.

Já arrumei o código e ficou muito mais simples.

Segue:

selecao<-function(vet)
{
  tam<-length(vet)


  while(tam>0)
  {
    pm<-which.max(vet[1:tam])
    temp<-vet[tam]       
    vet[tam]<-vet[pm]     
    vet[pm]<-temp
    tam<-(tam-1)
  }

  return(vet)
}

Att,
Jackeline.


CC: r-br@listas.c3sl.ufpr.br
From: edinhoestat@yahoo.com.br
Date: Tue, 2 Apr 2013 20:49:18 -0400
To: r-br@listas.c3sl.ufpr.br
Subject: Re: [R-br] Variante do método seleção.

Veja 

?sort
?order

[. ]'s.
Edson Lira
Estatístico
Ma-Am

Em 02/04/2013, às 09:46, Jackeline Bonetti Campos <jackebcampos@hotmail.com> escreveu:

Olá,

O método de ordenação por seleção normal (onde o menor elemento é encontrado e colocado na primeira posição e assim consecutivamente até que todo o vetor seja ordenado) é dado pelo algoritmo:

selecao<-function(vet)
{
  tam<-length(vet)


  for(i in 1:tam)
  {
    pm<-which.min(vet[i:tam])
    pm<-pm+i-1      
    temp<-vet[i]       
    vet[i]<-vet[pm]     
    vet[pm]<-temp
  }

  return(vet)
}

Como posso alterar esse código para que a busca seja feita pelo maior elemento e este seja colocado na última posição?

Pensei em algo assim:

selecao<-function(vet)
{
  tam<-length(vet)


  for(i in tam:1)
  {
    pm<-which.max(vet[tam:i])
    pm<-pm+ ??
    temp<-vet[i]       
    vet[i]<-vet[pm]     
    vet[pm]<-temp
    
  }

  return(vet)
}


Porém, não sei que atribuição dar ao novo pm para que a ultima colocação seja desconsiderada.

Agradeço desde já!

Att,
Jackeline
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.