bf0269714@gmail.com
-
Postagens
2 -
Registro em
-
Última visita
-
Dias Ganhos
1
Tipo de Conteúdo
Fóruns
Treinamentos
Notícias
Artigos
Contribuindo
Profissões
Materiais de estudo
Pesquisa
Downloads
Loja
Eventos
Blogs
Galeria
Posts postados por bf0269714@gmail.com
-
-
Estou utilizando este código para uma busca binária, porém ao compilar, não me retorna a resposta desejada, não encontrei o erro, poderiam me dar um help? Muito obrigada.
#include<iostream> // p. usar cout cin
#include<new> // p. alocação de memória
#include<string> // trabalhar com textos
#include<stdlib.h> // implementa funções p. diversas operaões
#include<locale.h>
#define TAM 10using namespace std; // p. utilisar cout cin
void imprimeVetor(int vetor[TAM]){
int cont; // auxiliar contador
//Imprime o vetor:
for (cont = 0; cont < TAM; cont ++){
cout << vetor[cont] << " - ";
}
}int buscaBinaria(int vetor[TAM], int valorProcurado, int *posicaoEncontrada){
int esquerda = 0; // limite da esquerda
int direita = TAM -1; // limite da direita
int meio; // O meio onde fica o cursorwhile(esquerda <= direita){
meio = (esquerda + direita)/2;//Quando o valor do meio é encontrado:
if(valorProcurado == vetor[meio]){
*posicaoEncontrada = meio;
return 1;
}else if(valorProcurado < vetor[meio]){
esquerda = meio -1;
}else{
direita = meio +1;
}
}
return -1;
}
int main(){setlocale(LC_ALL, "");
int vetor[TAM] = {1, 29, 93, 75, 39, 03, 49, 90, 23, 20};
int valorProcurado;
int posicao, posicaoEncontrada;//Auxiliar contador
int cont;//Imprime o vetor na tela:
imprimeVetor(vetor);cout << "Qual número deseja encontrar?";
cin >> valorProcurado;if(buscaBinaria(vetor, valorProcurado, &posicaoEncontrada) == 1){
cout << "O valor foi encontrado na posição:" << posicaoEncontrada;
}else{
cout << "O valor não foi encontado.";
}return 0;
}
Quick Sort c++
em C/C++
Postado
Boa tarde a todos,
Estou tentando escrever um código de qquick sort em c++ para ordenar a seguinte lista: {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}, mas ao compliar não funciona, e me retorna apenas: Process returned -1073741571 (0xC00000FD) execution time : 1.072 s
Press any key to continue.
Este é o código que estou usando:
#include <iostream>
#include <stdlib.h>
#include <string>
#define TAM 10
using namespace std;
void imprimeVetor(int vetor[]){
int i;
cout << "\n";
for(i = 0; i < TAM; i++){
cout << "|" << vetor[i] << "|";
}
}
void swap(int vetor[], int pos1, int pos2){
int temp;
temp = vetor[pos1];
vetor[pos1] = vetor[pos2];
vetor[pos2] = temp;
}
int partittion(int vetor[], int menor, int maior, int pivot){
int i = menor;
int j = maior;
while(i <= maior){
if(vetor[i]> pivot){
i++;
}
else{
swap(vetor, i, j);
i++;
j++;
}
}
return j -1;
}
void quick_sort(int vetor[], int menor, int maior){
menor = 0;
maior = 10;
if(menor < maior){
int pivot = vetor[maior];
int pos = partittion(vetor, menor, maior, pivot);
quick_sort(vetor, menor, pos -1);
quick_sort(vetor, pos +1, maior);
}
}
int main(){
int vetor[TAM] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
quick_sort(vetor, 0, TAM);
imprimeVetor(vetor);
return 0;
}
Alguém consegue identificar o erro?
Muito obrigada!