Ir ao conteúdo
  • Cadastre-se

Salmo

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

posts postados por Salmo

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

    >>

    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;
    	
    }

     

    • Curtir 1

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!