Faça uma função recursiva que permita somar os elementos de um vetor de inteiros.

Passo 1

O enunciado pede uma função recursiva para somar todos os elementos de um vetor de inteiros; o conteúdo é recursão e precisamos definir um caso base e um passo recursivo.

Passo 2

O caso base ocorre quando o vetor está “vazio” (tamanho zero): nesse cenário não há elementos para somar, então retornamos 0.

Passo 3

No passo recursivo, assumimos que já sabemos somar os primeiros tam–1 elementos e então adicionamos o elemento de índice tam–1. Ou seja, somaVetor(vetor, tam) = somaVetor(vetor, tam-1) + vetor[tam-1].

Passo 4

Com isso, podemos implementar a função em C definindo o caso base e o passo recursivo e, depois, chamá-la a partir da função main para testar.

Resposta

#include <stdio.h>
int somaVetor(int vetor[], int tam) {
if (tam == 0)
return 0; // caso base: vetor vazio
return somaVetor(vetor, tam - 1) + vetor[tam - 1];
}
int main() {
int v[] = {2, 5, -1, 7, 3}; // exemplo de vetor
int tam = sizeof(v) / sizeof(v[0]);
int total = somaVetor(v, tam);
printf(“Soma dos elementos = %d\n”, total);
return 0;
}

Exercícios relacionados