Busca e ordenação de números
Publicado por Luciano Alexandre de Farias Silva (última atualização em 10/04/2013)
[ Hits: 7.809 ]
Homepage: http://www.tecsource.blogspot.com.br/
Um pequeno algoritmo em C++ com duas funções: Uma para ordenar um Vetor de números e outra, para buscar um número qualquer nesse Vetor.
#include<iostream>
using namespace std;
float busca(float num, float n, float x[100]) ;
void bubblesort(int n, float x[100]);
int main(void) {
float x[100], num;
int n, i;
bool achou;
do {
cout << "Quantos números?" <<endl;
cin >> n;
} while(n <= 0 || n > 100);
cout << "Digite os números: "<<endl;
for(i = 0; i <= n-1; i++) {
cin >> x[i];
}
bubblesort(n, x);
cout << "Vetor ordenado: " <<endl;
for(i = 0; i < n ; i++){
cout << x[i] <<" ";
}
cout << "\nDigite o número que procura: "<<endl;
cin >> num;
achou = busca(num, n , x);
if(achou){
cout << "Número encontrado.";
}else{
cout << "Número não encontrado";
}
return 0;
}
float busca(float num, float n, float x[100] ) {
int meio, alto, baixo;
alto = n - 1;
baixo = 0;
bool achou = false;
while( baixo <= alto && (!achou)){
meio = (baixo + alto)/2;
if(num < x[meio]){
alto = meio - 1;
} else if(num > x[meio]){
baixo = meio + 1;
}else {
achou = true;
}
}
return achou;
}
void bubblesort( int n, float x[100]){
float aux;
int j, i;
for(i = 0; i < n-1; i++){
for(j=i+1; j < n ; j++){
if(x[i] > x[j]){
aux = x[i];
x[i] = x[j];
x[j] = aux;
}
}
}
}
Funções de comparação de String
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Ativando e usando "zoom" no ambiente Cinnamon
Vídeo Nostálgico de Instalação do Conectiva Linux 9
Como realizar um ataque de força bruta para desobrir senhas?
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (4)
Thinkpads são bons mesmo ?! (4)
existe algum hub de jogos online similiar ou igual dos browser (6)
Como botar o efeito de deslocar janelas (win + setas - windows) no lin... (0)









