Dúvida sobre questão de um programa em linguagem C
Sabe-se que numa matriz A com 10 linhas e 3 colunas está armazenado o gabarito de um concurso, onde na primeira coluna fica armazenado a nota da prova objetiva, na segunda coluna fica armazenado a nota da prova subjetiva e na terceira coluna está armazenado a nota mínima a ser alcançada na prova objetiva para que seja corrigida a prova subjetiva. A partir disso, desenvolva um programa em C que lido as informações do gabarito para a matriz A diga: Qual a porcentagem de participantes que não tiveram a prova subjetiva corrigida? Qual a média final dos participantes que tiveram a prova subjetiva corrigida? Considerando que a média final é dada pela seguinte fórmula:, onde Mp é a média do participante que teve a prova subjetiva corrigida, PO é a nota da prova objetiva, PS é a nota da prova subjetiva, MF é a média final dos participantes que tiveram a prova subjetiva corrigida e n a quantidade de participantes que tiveram a prova subjetiva corrigida.
ABAIXO ESTÁ O CÓDIGO PARA COMPILAÇÃO. GOSTARIA DE VER SE VOCÊS APONTAM A SOLUÇÃO DO ERRO.
#include<stdio.h>
#include<conio.h>
#define MATRIZ 3
float matriz[MATRIZ][3],aprovados,reprovados,MF;
int p,q,r;
int main(){
for(q=1;q<=MATRIZ;q++){
for(p=1;p<=3;p++){ //validação matriz A;
switch (p){
case 1:
printf("\n\ncandidato (%d)\n",q);
printf("PO -> ");break;
case 2: printf("PS -> ");break;
case 3: printf("nota minima na objetiva -> ");break;
}
scanf("%f",&matriz[q][p]);
}
if(matriz[q][1]>=matriz[q][3]){
MF=MF+(matriz[q][1]+matriz[q][2])/2;
r++;//alunos que foram aprovados para a segunda etapa;
}
printf("MP -> %.2f",(matriz[q][1]+matriz[q][2])/2);
printf("\n");
}
MF=MF/r;
if(r!=MATRIZ)
aprovados=r*(100/MATRIZ);
else
aprovados=100;
reprovados=100-aprovados;
printf("\n\nprovas subjetiva corrigidas : %d",r);
printf("\nporcentagem de aprovados : %.2f %",aprovados);
printf("\nporcentagem de reprovados : %.2f %",reprovados);
printf("\nmedia dos aprovados : %.2f",MF);
}Discussão (0)
Carregando comentários...