alguém poderia me apontar o erro , não estou identificando .
#include <stdio.h>
#include <conio.h>
int ordenacao ( int v[] , int n )
{
int i,k,aux;
for( i=1; i<n; i++)
{
for( k=0; k<n; k++)
{
if(v[k] > v[k+1])
{
aux = v[k];
v[k] = v[k+1];
v[k+1] = aux;
}
}
} return(-1);
}
int busca_binaria( int v[] , int n , int x)
{
int meio,inic,fim;
inic = 0;
fim = n-1;
while( inic <= fim )
{
meio = (inic + fim)/2;
if( x == v[meio] )
{
return meio;
}
else
{
if( x > v[meio])
inic = meio + 1;
else
fim = meio -1;
}
} return(-1);
}
int main()
{
int v[100];
int i,n,x,z,y,w;
printf("Digite o n :");
scanf("%d",&n);
for( i=0; i<n; i++)
{
printf("Digite os numeros :");
scanf("%d",&v[i]);
}
printf("Digite o numero a ser pesquisado :");
scanf("%d",&x);
z = ordenacao( v , n);
y = busca_binaria( v , n , x );
printf("O vetor ordenado e : %d ",y);
printf("O vetor pesquisado esta na posicao %d",y);
getch();
}
Pergunta
mestre fyoda
alguém poderia me apontar o erro , não estou identificando .
#include <stdio.h> #include <conio.h> int ordenacao ( int v[] , int n ) { int i,k,aux; for( i=1; i<n; i++) { for( k=0; k<n; k++) { if(v[k] > v[k+1]) { aux = v[k]; v[k] = v[k+1]; v[k+1] = aux; } } } return(-1); } int busca_binaria( int v[] , int n , int x) { int meio,inic,fim; inic = 0; fim = n-1; while( inic <= fim ) { meio = (inic + fim)/2; if( x == v[meio] ) { return meio; } else { if( x > v[meio]) inic = meio + 1; else fim = meio -1; } } return(-1); } int main() { int v[100]; int i,n,x,z,y,w; printf("Digite o n :"); scanf("%d",&n); for( i=0; i<n; i++) { printf("Digite os numeros :"); scanf("%d",&v[i]); } printf("Digite o numero a ser pesquisado :"); scanf("%d",&x); z = ordenacao( v , n); y = busca_binaria( v , n , x ); printf("O vetor ordenado e : %d ",y); printf("O vetor pesquisado esta na posicao %d",y); getch(); }Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.