ryookno 0 Denunciar post Postado Novembro 2, 2012 Boa tarde. Peço ajuda de vocês para que verifiquem um erro no meu código, pois não consigo achá-lo. Quando executei, o programa me retornou médias com valor errados.. É um algoritmo para leitura de nota de prova (vetor NOTAPROV) e trabalho (vetor NOTATRAB) de dez alunos e o "peso" da prova e trabalho. A lógica consiste em calcular a média de cada aluno e armazená-lo em um terceiro vetor, o MÉDIA[10]. #include <stdio.h> #include <stdlib.h> int main() { int N; float NOTAPROV[10]; float NOTATRAB[10]; int PESOPROV; int PESOTRAB; float MEDIA[10]; float MEDIAMAIOR; float MEDIAMENOR; int CONTADOR = 0; printf("Insira a nota da prova e de trabalho de cada aluno:\n\n"); for (N=1; N<=10; N++) { printf("Aluno %d\n Nota de prova", N); scanf("%f", &NOTAPROV[N]); printf("Nota de trabalho"); scanf("%f", &NOTATRAB[N]); } printf("Insira o 'peso' da prova e do trabalho:"); scanf("%f", &PESOPROV); scanf("%f", &PESOTRAB); for (N=1; N<=10; N++) { MEDIA[N] = ((PESOPROV * NOTAPROV[N]) + (PESOTRAB * NOTATRAB[N]))/(PESOPROV + PESOTRAB); } MEDIAMAIOR = MEDIA[1]; MEDIAMENOR = MEDIA[1]; for (N=1; N<=10; N++) { if (MEDIA[N] > MEDIAMAIOR) { MEDIAMAIOR = MEDIA[N]; } if (MEDIA[N] < MEDIAMENOR) { MEDIAMENOR = MEDIA[N]; } if (MEDIA[N] >= 5) { CONTADOR++; } } for (N=1; N<=10; N++) { printf("Aluno %d \n", N); printf("Nota de prova = %f \n", NOTAPROV[N]); printf("Nota de trabalho = %f \n", NOTATRAB[N]); printf("Media = %f\n", MEDIA[N]); } printf("A maior media foi %f \n", MEDIAMAIOR); printf("A menor media foi %f \n", MEDIAMENOR); printf("%d alunos tiveram media igual ou superior a 5.\n\n", CONTADOR); system("PAUSE"); } Grato. ----- Ough, percebi o erro. Utilizei o comando de leitura scanf("%f") para as variáveis PESOPROV e PESOTRAB (que são de valores inteiros) em vez de scanf("%d"). HAHHAHAH sou novato em programação, ainda. :rolleyes: Compartilhar este post Link para o post Compartilhar em outros sites
reebr 94 Denunciar post Postado Novembro 3, 2012 Como o problema já foi resolvido, só uma dica: Você pode declarar variáveis do mesmo tipo na mesma linha. int N, PESOPROV, PESOTRAB, CONTADOR = 0; float NOTAPROV[10], NOTATRAB[10], MEDIA[10], MEDIAMAIOR, MEDIAMENOR; Compartilhar este post Link para o post Compartilhar em outros sites