Ir ao conteúdo
  • Cadastre-se
Hugo_barbosa

C Linguagem C arrays erro em que não fui capaz de identificar

Recommended Posts

bom dia o programa esta dando uns erros esquisitos alguem me ajuda?

 

#include<stdio.h>
    
    
    int main()
    {
        double media;
        int i,sum;
    int x=12;
    int y=16;
    int z=20;
    int a=4;
int valores_testes[4]={a,x,y,z}
        sum=1 ;
        for (i=0,i>=4, i++){
            sum += valores_testes;
        }
    
    media = sum/i;
    printf(" A média é %d \n", media);
    
    return 0;
    
}
    

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Hugo_barbosa Olá. O primeiro erro q aparece em seu código é q você está inicializando a variável sum com o valor 1. Seria 0, já q se trata de uma soma.

Outro ponto é na forma como você usou seu for.  Perceba q, nesse exercício, o for deve ir do 0 até o valor 3, que correspondem aos 4 primeiros índices do vetor. 

Nesse caso seria dessa forma:

for (i = 0; i < 4; i++) // perceba q é usado o PONTO E VÍRGULA

E, ainda, como se trata da soma dos elementos de um vetor, é necessário passar os índices do mesmo na operação de soma.

Seria isso:

sum += valores_testes[i];

Finalmente, para exibir o resultado, perceba q você criou a variável média com sendo do tipo double, mas você está imprimindo o valor da mesma como se ela fosse um int, usando o %d. Logo, seria isso:

printf(" A media e %.2lf\n", media); // aqui eu estou usando uma formatação para q apenas duas casas decimais sejam impressas. Sem formatação ficaria %f (float) ou %lf (double)

Logo, seu código poderia ficar assim:

#include <stdio.h>

int main() {

    int i, x = 12, y = 16, z = 20, a = 14;
    int valores_testes[4] = { a, x, y, z};
    double sum = 0, media = 0;

    for (i = 0; i < 4; i++) {
        sum += valores_testes[i];
    }

    media = sum / i;
    printf("A media e %.2lf\n", media);

    return 0;

}

Mas é importante procurar entender exatamente onde estavam os erros e como os mesmos foram corrigidos, ok?

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Hugo_barbosa  Já ia postar o código que eu fiz, mas o giu já explicou direitinho. Só uma coisa, você tentou usar acentos, mas C leva em conta o inglês que não tem acentos (acho que só uma palavra tem acento na verdade), pra que você possa utilizar acentuação você deve incluir a biblioteca: 

#include <locale.h>

e depois escrever:

setlocale(LC_ALL,"");

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

O kkk muito obrigado terei mais atenção as recomendações dadas 

Há e obrigado pela biblioteca q me permite por acentos tava ficando tudo bugado e não sabia o motivo 

Obrigado e continuação de um bom dia

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×