Adauto Postado Setembro 26, 2020 em 12:55 Compartilhar Postado Setembro 26, 2020 em 12:55 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); } Link para o comentário Compartilhar em outros sites More sharing options...
fredericopissarra Postado Setembro 26, 2020 em 14:28 Compartilhar Postado Setembro 26, 2020 em 14:28 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. Link para o comentário Compartilhar em outros sites More sharing options...
Adauto Postado Setembro 26, 2020 em 15:44 Autor Compartilhar Postado Setembro 26, 2020 em 15:44 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. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Arquivado
Este tópico foi arquivado e está fechado para novas respostas.