Ir ao conteúdo
  • Cadastre-se

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


Posts recomendados

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. 

Link para o comentário
Compartilhar em outros sites

@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??

~~ / ~~

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...