Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Resposta] Função soma elementos de um array

Tomei a liberdade de criar um vetor com elementos diversos:

#include <stdio.h> 

void somaArray(int num[10]){
    int resultado = 0;
    for(int i = 0; i < num[i]; i++){
        resultado += num[i];
    }
    printf("Resultado = %d\n", resultado);
}

int main(){
    int numeros[10] = {30, 40, 50, 60, 70, 80, 90, 100, 200, 300};

    somaArray(numeros);
}
3 respostas
solução!

Olá João!

Obrigado por compartilhar o código com a função para somar os elementos de um array.

Notei que há um pequeno erro na sua função somaArray. O loop for está sendo executado até num[i], mas na verdade deveria ser até o tamanho do array, que é 10.

Você pode corrigir isso alterando a condição do loop para i < 10.

Além disso, sugiro que você adicione uma mensagem antes de imprimir o resultado, para deixar mais claro o que está sendo exibido.

Segue o código corrigido:

#include <stdio.h> 

void somaArray(int num[10]){
    int resultado = 0;
    for(int i = 0; i < 10; i++){
        resultado += num[i];
    }
    printf("A soma dos elementos do array é: %d\n", resultado);
}

int main(){
    int numeros[10] = {30, 40, 50, 60, 70, 80, 90, 100, 200, 300};

    somaArray(numeros);
}

Espero ter ajudado e bons estudos!

Além de por o número bruto na condição do for, a linguagem C conta com alguma função como length? Ou tem outra maneira? Assim bastaria mudar o numero de elementos do vetor. Eu pensei que ao colocar o num[i], ele estaria acessando cada elemento do array e pararia caso não encontrasse outro elemento.

Olá, João!

Não há uma função "length" embutida na linguagem C para obter o tamanho de um array automaticamente.

Caso tenha alguma outra dúvida, sugiro que abra um novo tópico aqui no Fórum. :)

Bons estudos!