Adauto 0 Posted September 26, 2020 Share Posted September 26, 2020 Segue abaixo a resolução de um exercício que estou tentando fazer, porem não consigo fazer com que o calculo da media saia correto. Abixo segue o script e em anexo o erro. Caso alguém possa me ajudar. Desde já obrigado #include <stdio.h> #include <stdlib.h> #include <locale.h> void main() { //Para usar acentos setlocale(LC_ALL,""); //Crie um algoritmo que leia um tamanho um vetor e preencha cada posição com um valor //depois calcule a média dos valores acessando o vetor. int tamanho; printf("Qual será o tamanho do vetor?"); scanf("%d", &tamanho); float vetor[tamanho], soma; int i; for(i = 0; i < tamanho; i++){ printf("Digite um valor:"); scanf("%f", &vetor); soma = soma + vetor; } for(i = 0; i < tamanho; i++){ printf("\nvetor[%d] = %.2f",i, vetor); } printf("\nA média dos valores é: %.2f", soma/tamanho); } Quote Link to post Share on other sites
fredericopissarra 270 Posted September 26, 2020 Share Posted September 26, 2020 1 hora atrás, Adauto disse: Caso alguém possa me ajudar. Desde já obrigado Existem vários problemas: Uso de int ao invés de unsigned int como índice do array; Array definido na pilha, sem checar o tamanho informado; Uso desnecessário (e errado) de locale; soma não é inicializado em lugar nenhum; Uso errado das referências aos elementos do array vetor; Não é verificado sequer se os valores conseguiram ser lidos. Quote Link to post Share on other sites
Adauto 0 Posted September 26, 2020 Author Share Posted September 26, 2020 (edited) 6 horas atrás, fredericopissarra disse: Existem vários problemas: Uso de int ao invés de unsigned int como índice do array; Array definido na pilha, sem checar o tamanho informado; Uso desnecessário (e errado) de locale; soma não é inicializado em lugar nenhum; Uso errado das referências aos elementos do array vetor; Não é verificado sequer se os valores conseguiram ser lidos. Amigo muito obrigado, a pela ajuda. Não usei unsigned int por realmente não conhecer, comecei a ver programação agora na faculdade. Quanto ao uso errado do locale sempre o usei assim e ele cumpriu a função que é o de acentuar as palavras e nesse código esta ok, sobre as observações 5 e 6 acredito que o senhor não tenha rodado o código pois essa verificação estava ocorrendo sim, o problema era só o retorno da média mesmo que foi solucionado com a sua sugestão do item 4, depois que inicializei a variável soma o calculo aconteceu. Muito obrigado pela ajuda. Edited September 26, 2020 by Adauto Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.