Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Henrique Negri

C++ ordenação por repetição em c++

Recommended Posts

Olá, estou começando agora com c++ e com programação em geral e meu professor me passou o seguinte exercício:

 

"Escreva uma função que receba um vetor de números e os ordene (Bubble Sort) por ordem decrescente tendo como critério o número de vezes em que cada elemento ocorre no vetor e retorne o vetor ordenado."

 

estou a uma semana tentando pensar em algo para fazer com ele e não consigo achar uma solução se alguém puder me ajudar apenas com a ideia já agradeço muito. 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)

@Henrique Negri , oi cara!

O Bubble Sort é um dos mais comuns métodos de ordenação que existe, sua lógica é fácil de aprender e tem muito matérial aqui (no fórum) e na internet para pesquisar.

 

 

"ordem decrescente tendo como critério o número de vezes em que cada elemento ocorre no vetor"

O professor propôs algo interessante. O critério do Bubble Sort é o valor dos elementos ordenados isso naturalmente da investigação de cada elemento e seu valor, porém o critério foi desviado nesse problema para número de repetências dos elementos no vetor, isso significa que, não se pode ordenar o vetor antes de se ter o seu critério de ordenação, ou seja, terá de ter um algoritmo que conte quais os elemento que repete e a classificação 1, 2, 3, 4 ... lugar de mais repetentes.

Com as classificações prontas, começa a ordena com base nesse critério classificatório.

Exm.

2 2 1 1 1 1 3 3 3 3 3 4

 O algoritmo que conta as ocorrências vai ter o seguinte conteúdo:

3 1 2 4

Ou seja, 3 em Primeiro, 1 em Segundo, 2 em Terceiro e 4 por último, quando ordenado fica desse jeito:

3 3 3 3 3 1 1 1 1 2 2 4

 

 

Importante: Não existe critério de desempate ou seja, se dois valores tem o mesmo número de ocorrências então são classificados por ordem de chegada. Ou nos casos de teste lhe foi garantido que isso não acontece? Caso seja garantido então é uma rotina a menos para se preocupar.

 

 

Viu uma luz??

~~ / ~~

 

Editado por AnsiC

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×