Bom, para verificar se existem valores repetidos, você pode fazer uma varredura pelo vetor, e verificar se o item atual é igual ao item anterior.
int temp; int repetidos = 1;
//Verificando numeros repetidos temp = vetor[0]; // Primeiro valor não entra na varredura for (i=1;i<tam;i++) { if( vetor[i] == temp ){ repetidos++; // Enquanto tiverem valores iguais em sequencia, incrementa este contador } else { // Se deu valor diferente do anterior, verifica se teve repetições if( repetidos > 1 ) { printf("O valor %i esta repetido %i vezes\n", temp, repetidos); repetidos = 1; } // E atualiza este valor de comparação temp = vetor[i]; } } // Fim do loop, mas ainda não testamos se o último valor do vetor é repetido ou não, então... if( repetidos > 1 ) { printf("O valor %i esta repetido %i vezes\n", temp, repetidos); }
Na verdade não estamos usando algoritmo de busca binária, mas ela não faz sentido se estamos querendo simplesmente contar o número de repetições.