Ir ao conteúdo
  • Cadastre-se

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


Hugo_barbosa

Posts recomendados

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

Link para o comentário
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?

Link para o comentário
Compartilhar em outros sites

  • Moderador

@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 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!