Ir ao conteúdo
  • Cadastre-se

Salmo

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

Reputação

2
  1. Ah cara, funcionou aqui. No caso aqui a saída teria q ser apenas o numero de animais diferentes, dei uma alterada e ficou ótimo mt obrigado!
  2. Olá galera. Estou com dificuldades de tentar encontrar uma lógica para descobrir os valores diferentes de um vetor, eu primeiramente ordenar os vetores, mas posteriormente não consigo de maneira alguma encontrar uma logica para comparar os números e fazer a contagem dos diferentes. segue a questão e depois meu algoritmo. QUESTÃO O dono do zoológico quer a lista de todas as especies de animais que existem no zoológico. Para isso ele te deu uma lista de todos os animais. Sabendo que o zoológico suporta no máximo 100 animais, ele quer que você faça um programa em C que retorne a quantidade de espécies diferentes. Considere que um número representa uma espécie. Não use uma função de ordenar pronta. Entrada: linha 1: um número com a quantidade de elementos do vetor (1 até 100) linha 2: o vetor de inteiros que representam os animais. Saída: a quantidade de espécies Exemplos: >> 3 1 1 2 << 2 ALGORITMO #include <stdio.h> /*O dono do zoológico quer a lista de todas as especies de animais que existem no zoológico. Para isso ele te deu uma lista de todos os animais. Sabendo que o zoológico suporta no máximo 100 animais, ele quer que você faça um programa em C que retorne a quantidade de *espécies diferentes. *- Considere que um número representa uma espécie.*/ void select_sort(int animais[],int tam) { int i,j; for (i=0;i<tam-1;i++) { int menor=i,aux; for(j=i+1;j<tam;j++) { if(animais[j]<animais[i]) { menor=j; } if(i!=menor) { aux=animais[i]; animais[i]=animais[menor]; animais[menor]=aux; } } } } int main () { int animais[100],tam,i,j,diferentes=1; //limitando o maximo e minimo do vetor do { printf("Qual a quantidade de animais que voce ira digitar (entre 1 e 100) ? --> "); scanf("%d",&tam); } while(tam<1 || tam>100 ); //recebendo valores do vator for(i=0;i<tam;i++) { printf("Digite o numero do animal --> "); scanf("%d",&animais[i]); } //função que deixa os valores ordenados select_sort(animais,tam); //testando quantos valores sao diferentes for(i=0;i<(tam-1);i++) { for(j=1;j<tam;j++) { if (animais[i]!=animais[j]) { diferentes++; } } } printf("%d",diferentes); return 0; }

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...