Jump to content

Resultado da média não é calculado!


Recommended Posts

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);
 
}

erro.jpg

Link to post
Share on other sites
1 hora atrás, Adauto disse:

Caso alguém possa me ajudar. Desde já obrigado

Existem vários problemas:

  1. Uso de int ao invés de unsigned int como índice do array;
  2. Array definido na pilha, sem checar o tamanho informado;
  3. Uso desnecessário (e errado) de locale;
  4. soma não é inicializado em lugar nenhum;
  5. Uso errado das referências aos elementos do array vetor;
  6. Não é verificado sequer se os valores conseguiram ser lidos.
Link to post
Share on other sites
6 horas atrás, fredericopissarra disse:

Existem vários problemas:

  1. Uso de int ao invés de unsigned int como índice do array;
  2. Array definido na pilha, sem checar o tamanho informado;
  3. Uso desnecessário (e errado) de locale;
  4. soma não é inicializado em lugar nenhum;
  5. Uso errado das referências aos elementos do array vetor;
  6. 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 by Adauto
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...