Método de Ordenação Bolha
Nesse script vemos o exemplo de utilização do método de ordenação bolha, ele implementa um pequeno bloco de código para pesquisar na sequência de letras já digitadas e ordenadas se essa sequência possui ou não determinada letra.
Descrição
Nesse script vemos o exemplo de utilização do método de ordenação bolha, ele implementa um pequeno bloco de código para pesquisar na sequência de letras já digitadas e ordenadas se essa sequência possui ou não determinada letra.
Versões atualizadas deste script
#include<iostream>
using namespace std;
char busca(char carac, int n, char x[100]) ;
void bubblesort(int n, char x[100]);
int main(void) {
char x[100], carac;
int n, i;
bool achou;
do {
cout << "Quantos Caracteres?" <<endl;
cin >> n;
} while(n <= 0 || n > 100);
cout << "Digite todos os caracteres:"<<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] <<" "<<endl;
}
cout << "Digite o caractere que vc procura: "<<endl;
cin >> carac;
achou = busca(carac, n , x);
if(achou){
cout << "Caractere encontrado.";
}else{
cout << "Caractere não encontradO";
}
return 0;
}
char busca(char carac, int n, char x[100] ) {
bool achou = false;
int i = 0;
while ((i < n) && (!achou)){
if(x[i] == carac) {
achou = true;
} else {
i = i + 1;
}
}
return achou;
}
void bubblesort( int n, char 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;
}
}
}
}
Busca é declarado como char, mas retorna bool?
Na função, busca poderia ser usado for e break.
Aliás, se o array estiver ordenado, basta que o valor seja maior para busca() ser falso.