Jump to content
Ruka284

Média de 4 números

Recommended Posts

Ruka284

Estou a fazer um programa para fazer a média de 4 números.

Gostaria de saber se à outra maneira de simplificar, porque tem de haver,devido se fossem 500 numeros ????

#include<stdio.h>
#include<conio.h>

int main()
{
int num1=0,num2=0,num3=0,num4=0;
float media,indeterminacao;

printf(" \n   introduza primeiro numero   \n");
scanf("%d",&num1);
printf(" \n   introduza segundo numero   \n");
scanf("%d",&num2);
printf(" \n   introduza terceiro numero   \n");
scanf("%d",&num3);
printf(" \n   introduza quarto numero   \n");
scanf("%d",&num4);
if ((num1<0 or num2<0 or num3<0 or num4<0))
{
printf("erro %f",indeterminacao);
system("PAUSE"); // aqui queria saber como faço system ("pause") para parar aqui esta sintaxe, porque eu quero que saia um erro quando um nuemro for menor que zero
}
media=(num1+num2+num3+num4)/4;
media=(num2+num3+num4)/3;
media=(num1+num3+num4)/3;
media=(num1+num2+num4)/3;
media=(num1+num2+num3)/3;
media=(num3+num4)/2;
media=(num1+num4)/2;
media=(num1+num2)/2;
media=(num4)/1;
media=(num3)/1;
media=(num2)/1;
media=(num1)/1;
media=(num1+num3)/2;
media=(num2+num3)/2;
media=(num2+num4)/2;
printf("media e= %.2f",media);
getch();
}

Share this post


Link to post
Share on other sites
pmg

A maneira prática é usando arrays e ciclos.


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
pmg
#include <stdio.h>

// enterdata fill the array data with up to len values
// it returns the number of items entered
size_t enterdata(int *data, size_t len);

// average returns the average of the numbers in the array
double average(int *data, size_t len);

int main(void) {
 int array[1000];
 size_t n;

 n = enterdata(array, sizeof array / sizeof *array);
 printf("A média é %f.\n", average(array, n));
 return 0;
}

// a implementacao das funcoes enterdata() e average()
// fica ao criterio do estudante


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
HappyHippyHippo

O que estou à fazer e ter 4 numeros e para esses numeros ter todas as hipoteses para fazer à media.

vê bem qual o valor que estás a apresentar : é somente a última atribuição


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Ruka284

vê bem qual o valor que estás a apresentar : é somente a última atribuição

tenho as formula das medias.

e o if e se meter um numero menor que 0 dá erro

#include <stdio.h>

// enterdata fill the array data with up to len values
// it returns the number of items entered
size_t enterdata(int *data, size_t len);

// average returns the average of the numbers in the array
double average(int *data, size_t len);

int main(void) {
 int array[1000];
 size_t n;

 n = enterdata(array, sizeof array / sizeof *array);
 printf("A média é %f.\n", average(array, n));
 return 0;
}

// a implementacao das funcoes enterdata() e average()
// fica ao criterio do estudante

podias-me explicar melhor esta sintaxe, ainda não cheguei esta matéria.

Share this post


Link to post
Share on other sites
pwseo

Ruka284,

O pmg escreveu um bocado de código incompleto deliberadamente para que tu o possas completar. Mais especificamente, ele deixou para ti a implementação das funções enterdata() e average().

enterdata() é uma função que recebe como argumentos um apontador para um array de números e o tamanho do array, e devolve o número de números introduzidos.

average() recebe também um apontador para um array e o seu tamanho e devolve a média dos números dentro do array. Naturalmente, o número devolvido por enterdata() será utilizado como argumento da average().

Agora que está tudo explicado em português, diz-nos: que dúvidas tens? Pedir para explicar "essa sintaxe" não faz grande sentido e não nos dá ponta para pegar e ajudar-te.

Pista: tanto a enterdata() como a average() funcionam com base num ciclo.

Share this post


Link to post
Share on other sites
pmg

podias-me explicar melhor esta sintaxe, ainda não cheguei esta matéria.

Isto é a sintaxe de funções: o bloco básico de programação (em C).

A definição de uma função (int soma2(int a, int b) { return a + b; }, por exemplo) inclui 4 informações importantes: o nome da função, o tipo de valor devolvido, os argumentos necessários, e o código propriamente dito.

Mas para usar uma função o compilador não precisa de saber o código. Basta saber o nome, o tipo, e os argumentos. A indicação destes elementos chama-se um protótipo de função (int soma2(int a, int b);).

Edited by pmg

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
Ruka284

Não estou a ver como meto essas funções na sintaxe, ainda não dei essa materia, por isso as minhas duvidas, desculpem.

Share this post


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.   Restore formatting

  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.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.