Ir ao conteúdo
  • Cadastre-se

rot4ndano

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

1
  1. Galera peguei esse código pra estudar, mas as saídas dele estão dando errado, alguém poderia me dar uma mãozinha? #include <cstdio> #define MAXN 100100 int n, m, vetor[MAXN]; int buscab(int x){ // declaro a função buscab, que recebe um int como parâmetro // declaro os inteiros ini, meio e fim int ini=1, fim=n, meio; // ini já começa com 1 e fim com n while(ini<=fim){ // enquanto houver algum elemento no intervalo meio=(ini+fim)/2; // meio recebe a posição do meio if(vetor[meio]==x) return meio; // se achei o número, retorno o valor de meio if(vetor[meio]<=x) ini=meio+1; // se o número está na frente, olho para a metade depois de meio if(vetor[meio]>x) fim=meio-1; // se o número está atrás, olho para a metade antes de meio } return -1; // se o while terminar sem a função retornar, o número não está no vetor } int main(){ scanf("%d %d", &n, &m); // leio os valores de n e m for(int i=1; i<=n; i++) scanf("%d", &vetor[i]); // leio os valores do vetor for(int i=1; i<=m; i++){ // para cada pergunta // leio o número a ser procurado e salvo na int num int num; scanf("%d", &num); printf("%d\n", buscab(num)); // e imprimo o valor de buscab(num) } return 0; } Questão

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...