Na área de Inteligência Artificial, uma operação extremamente comum é a do somatório. Um pesquisador da área de IA, desesperado por não entender matemática tão bem, veio lhe pedir ajuda para implementar em C o seguinte somatório:
onde V é um vetor de inteiros com vários números diferentes.
Escreva uma função que recebe um vetor de inteiros e retorna a soma de todos os elementos, como mostra a equação.
Escreva uma função que recebe um vetor de inteiros e retorna a soma de todos os elementos, como mostra a equação.
Passo 1
O enunciado pede para implementarmos em C uma função que receba um vetor de inteiros
e seu tamanho
e retorne a soma de todos os elementos, ou seja,
O conteúdo de matéria envolvido é laço de repetição (loop) e acumulação de valores.
Passo 2
Para somar os elementos, precisamos de uma variável acumuladora, que comece em zero e guarde o total parcial à medida que percorremos o vetor.
Passo 3
Usamos um laço até
, acessando cada elemento
e adicionando-o ao acumulador.
for
que vai de
Passo 4
Ao final do laço, o acumulador conterá a soma de todos os elementos. Basta então retorná-lo.
Resposta
#include <stdio.h>
/* Função que soma os elementos de um vetor de inteiros */
int soma(int V[], int n) {
int total = 0;
for (int i = 0; i < n; i++) {
total += V[i];
}
return total;
}
/* Exemplo de uso */
int main() {
int V[] = {1, 3, -2, 7, 5};
int n = sizeof(V) / sizeof(V[0]);
printf("Soma = %d\n", soma(V, n));
return 0;
}