calculation of media in programming c

Asked

Viewed 168 times

0

Hello

I’m putting together a code for an activity of my course but the media that needs to appear at the end if you enter a negative number only appears zero, I’m a beginner in programming so I’m not getting the notion that it might be wrong in the code, if anyone can give me some guidance as to what can be done to fix this problem would help quite.

thank you

#include<stdio.h>


#include<stdlib.h>

int main() 

{

int c, cont, i, numero = 0, conta = 0;
float vetor[1000], media = 0, soma = 0;


cont = 0;
printf("Digite um numero:");
scanf_s("%d", &numero);
printf("\n");

while ((cont < 1000) && (numero >= 0))
{
    vetor[cont] = numero;

    printf("Digite um numero:");
    scanf_s("%d", &numero);
    cont++;
    printf("\n");
}
if (numero < 0)
{
    soma = cont++ + numero;
    conta = soma / numero;
    media = conta - numero <= 0;

}
printf("\n");
printf("A media dos numeros digitados e %d\n", &media);
printf("\n");




system("pause");
return 0;

}

2 answers

0


  #include<stdio.h>
  #include<stdlib.h>
  #define tamanho 10 //PARA MUDAR O TAMANHO DO VETOR BASTA ALTERAR O NÚMERO 
                                                            DESSA CONSTANTE.

  int main()
  {
    int  cont = 0, cont2=0, numero = 0;
    float  media = 0, soma = 0, vetor[tamanho];

    //Inicializando o vetor(Limpando o lixo de memória)

   for (int i=0; i<tamanho;i++)
  {
    vetor[i]=0.0;
  }
   do
  {
     printf("Digite um numero:");
     scanf("%d", &numero);
     printf("\n");

    if (numero >=0)
  {
    cont++; //CONTADOR PARA CALCULAR A MÉDIA

   vetor[cont2] = numero; //ARMAZENAMENRO DOS NÚMEROS NO VETOR
   soma += vetor[cont2]; //CALCULO DA SOMA TOTAL DOS NÚMEROS POSITIVOS
   cont2++; // INDÍCE DO VETOR.
  }

  }while (numero >= 0 && cont < tamanho);

  media = soma / cont; //CALCULO DA MÉDIA FINAL


  printf("\n");
  printf("A media dos numeros digitados e %.2f\n", media);
  printf("\n");




  system("pause");





  return 0;
  }
  • This code you gave me worked, I tested it here.. but this one you gave me counts as a data vector? I saw that you didn’t use any vector to assemble the code..

  • It doesn’t need vector. But because you were using a vector?

  • this code is for an activity that I am doing, and in the statement asked me to type positive values and save the values in data vectors. That’s why I asked you about.

  • So I get it. And you didn’t make it clear that you needed to store the numbers in a vector. If no one comments the code, with the vector you need I edit the post, until tomorrow afternoon, blz.

  • is I forgot to specify, I’ll be trying here, if I can not enter here in the post again to see if someone has a solution to help me.

  • I made the modification, if that’s what you needed, signal my post as the answer to your question for kindness. Thank you.

  • it worked.. vlw by orientation, helped me a lot..

Show 2 more comments

0

The calculation of the mean is not a question of programming, but rather a question of mathematics. How do you calculate the mean of n numbers ? You sum the n numbers, and the result of the sum you divide by n.

Translating it to C stands:

#include<stdio.h>
#include<stdlib.h>

int main() 
{
  // contador de numeros digitados
  int n = 0;

  // acumulador dos numeros digitados
  double soma = 0;

  // media que sera' calculada
  double media;

  // numeros que serao digitados, um por vez
  double numero;

  // loop de leitura dos numeros digitados
  for (;;)
  {
    printf("Digite um numero:");

    // le um numero digitado
    scanf("%lf", &numero);

    // se leu um numero negativo entao sai do loop
    if (numero < 0)
      break;

    // incrementa contador de numeros lidos
    n++;

    // atualiza acumulador de numeros lidos
    soma += numero;
  } // for

  // consome ultimo enter
  getchar();

  if (n == 0)
  {
    printf("nao foi digitado nenhum numero\n");
  }
  else
  {
    media = soma / n;
    printf("A media dos numeros digitados e %lf\n", media);
  }

  printf("tecle ENTER para terminar");
  getchar();
}

Testing:

[~/Projects/testes/so]
$cc -o 377544 377544.c

[~/Projects/testes/so]
$./377544
Digite um numero:123
Digite um numero:456
Digite um numero:789
Digite um numero:-1
A media dos numeros digitados e 456.000000
tecle ENTER para terminar

[~/Projects/testes/so]
$./377544
Digite um numero:-1
nao foi digitado nenhum numero
tecle ENTER para terminar

[~/Projects/testes/so]
$

Browser other questions tagged

You are not signed in. Login or sign up in order to post.