Busca e ordenação de números
Publicado por Luciano Alexandre de Farias Silva (última atualização em 10/04/2013)
[ Hits: 7.628 ]
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; } } } }
Converte Farenheit para Celsius
Parte 6 (Ordenando Strings) - sessão de estudo sobre MATRIZES.
Contador de palavras, linhas e caracteres de um arquivo texto
Descritores de Arquivos e Swappiness
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Copiar Layout do Teclado para aplicar em outra Distribuição (10)
Autenticação necessária. um aplicativo quer acesso ao chaveiro (2)
Graduação e certificação Eng. de redes e Eng. Linux[DUVIDA] (0)