Buscar

Escreva uma função recursiva que receba um vetor inteiro, um inteiro representando o índice do último elemento desse vetor e um inteiro corresponde...

Escreva uma função recursiva que receba um vetor inteiro, um inteiro representando o índice do último elemento desse vetor e um inteiro correspondente ao valor que deve ser localizado no vetor. Se o elemento for encontrado a função retorna 1, senão retorna 0. Utilize o seguinte protótipo: int busca sequencial (int [], int, int);


Essa pergunta também está no material:

Lista-Resolvida-Recursão
14 pág.

Algoritmos e Programação Universidade Federal de Santa MariaUniversidade Federal de Santa Maria

💡 1 Resposta

User badge image

Ed Verified user icon

Claro! Segue abaixo uma possível implementação em C++ da função recursiva de busca sequencial em um vetor: ```cpp int buscaSequencial(int vetor[], int ultimoIndice, int valorBuscado) { // Caso base: se o último índice for menor que 0, o valor não foi encontrado if (ultimoIndice < 0) { return 0; } // Caso recursivo: se o valor do último índice for igual ao valor buscado, retorna 1 if (vetor[ultimoIndice] == valorBuscado) { return 1; } // Chamada recursiva: reduz o índice em 1 e chama a função novamente return buscaSequencial(vetor, ultimoIndice - 1, valorBuscado); } ``` Explicação: - A função `buscaSequencial` recebe como parâmetros um vetor de inteiros, o índice do último elemento desse vetor e o valor que deve ser localizado no vetor. - O primeiro caso a ser tratado é o caso base, em que o último índice é menor que 0, ou seja, o vetor foi percorrido inteiramente e o valor não foi encontrado. Nesse caso, a função retorna 0. - O segundo caso a ser tratado é o caso em que o valor do último índice é igual ao valor buscado. Nesse caso, a função retorna 1. - O terceiro caso é o caso recursivo, em que a função chama a si mesma com o índice reduzido em 1. Isso faz com que a função percorra o vetor do último elemento até o primeiro, comparando cada elemento com o valor buscado. Se o valor for encontrado, a função retorna 1. Se não for encontrado, a função continua a chamada recursiva até que o último índice seja menor que 0.

0
Dislike0

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais