Ir para conteúdo
Fórum Script Brasil
  • 0

Vetores


Ninerock

Pergunta

Olá pessoal, queria ajuda para resolver um pequeno problema.

Buscar um elemento em um vetor atraves de uma função e retornar caso o elemento exista a posição que ele esta no vetor, o programa compila e me retorna o desejado, mais se digito um valor que não existe no vetor ele continua me retornando a posição 10, quero saber o que tem de errado no codigo.

#include <cstdlib>
#include <iostream>

using namespace std;

int busca (int x, int V[])
{
    int i;

    for (i = 1; i <= 10; i++)
    {
        if (V[i] == x)
        return i;        
    }
}
    
int main(void)
{
    int num,v[10],i;

    for (i = 1; i <= 10; i++)
    {
        v[i] = 0 + i;        
    }

    cout << "informe um numero para inserir no vetor: "<<endl;
    cin >> num;

    cout << busca(num,v);
}

Att.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Isso tem a ver com o registrador eax no processador. O último valor que estava nesse registrador é retornado, já que você não tem outro return explícito no caso de não achar nada. O que você tem que fazer é adicionar um return no final da função caso ela não ache o valor no array.

Outra coisa, os índices do seu array vão de 0 à 9, não de 1 à 10. No C, os índices dos arrays começam no 0.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...