Jump to content

Recommended Posts

Posted

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();
}
Posted
#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!

Posted

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.

Posted

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.

Posted (edited)

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!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • 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.