#include <stdio.h>
#define N 500
float m_ponderada(int n, int p[], float pr[]){
float media=0;
int i;
int p_t=0;
for (i=0; i<n; i++){
media = media + pr[i]*p[i];
p_t = p_t + p[i];
}
media = media/p_t;
return media;
}
main () {
int n;
int i;
float pr[N];
int p[N];
scanf ("%d", n);
for (i=0; i<n; i++)
scanf ("%d", p[i]);
for (i=0; i<n; i++)
scanf ("%f", pr[i]);
printf ("%5.2f", m_ponderada(n, p, pr));
}
qdo eu mando rodar ele vai até antes de começar a ler os pr[i] e dá uma mensagem de erro daquelas de enviar relatório para a microsoft.
nossa, que raiva...tava errando a mesma coisa a duas horas...tava quase desistindo!!hehe
brigada gente!!
cara vc esqueceu do & (e comercial) nos seus scanf, por isso que ta dando esse erro... heauhueahuea é moh frustante ficar quebrando a cabeça por causa desses errinhos, tb passei meia-hora com um erro parecido pra descobri q errei na hora de escrever o scanf.
e camila quando vc coloca um vetor como parametro de uma função ele nao deve ter valor nenhum entre os [ ], acho que está certo da forma q ele escreveu.
flws
mano... to com um problema aki q num tem lógica...
no final das impressões das notas.... tem que imprimir as médias da classe... até ai tudo bem, consegui fazer... mais o mew programa ta pondo um espaço onde naum deveria... a saida ta mais ou menos assim:
fulano de tal 5.0 3.0 2.0 3.3 1.0 1.0
media 5.0 3.0 2.0 3.3 1.0 1.0
tp.. na hra de imprimir a média final o vetor põe um espaço a mais
como eu arrumo isso, alguém sabe??
vc pode testar se o problema é esse pedindo para imprimir na tela cada coluna do vetor, pra saber o q realmente está no vetor e se é esse o problema!!
algo do tipo
for(i=0; i=tamanhodovetor-1; i++)
printf("%d\n", nomedovetor[i]);
o problema é exatamente isso.... a saida fica assim tanto no programa quanto no arquivo de saida...
como eu arrumo???
eu naum vi o teu código, nem teu arquivo de entrada
veifique com calma o teu fprintf e o teu arquivo de entrada, de onde ele pegou os dados - o erro pode estar no arq de entrada!!!
acho que não, o arquivo de entrada esta igual ao exemplo de entrada dado no enunciado, com todos os espaço contados, recontados e contados mais uma vez... a respeito de leitura e impressão de dados, estão assim:
fscanf (entrada, "%d ", &variavel)
fprintf (saida, "%4.1f ", variavel) tem um espaço depois do f que é justamente para que os valores não fiquem grudados.
o que me parece estranho é aquele espaço ter aparecido em apenas umas das posições do vetor....
Nossa...fiqui muito tempo tentando...e não achava...mas depois que eu vi aqui...o daniel tava fazendo o mesmo erro que eu...era só colocar e comercial nos scanfs!!
hehe
brigada