# C program not printing

## Homework Statement

one teacher wants to know the % of fail and aproved of the class of "N" number of students, the minimun qualification to aprove is "7", write a program that reads the students qualifications, and then the program says the number of aproved and failed students and the % of failed and aproved students.

## Homework Equations

the code is in spanish my natal languaje but i am puting the translations of the code..
alumnos=students
calification=qualification or the average sum of examns
indice=% of failed and aproved students

## The Attempt at a Solution

its almost done but the program dont show the "how much students failed the curse"

here is my code
C:
#include<stdio.h>
int main(){
int x,a[5],ia,ir,repro=0,apro=0;
for(x=0;x<5;x++){
printf("ingrese la calificacion del alumno %d:\n",x+1);
scanf("%d",&a[x]);
}
for(x=0;x<5;x++){
if(a[x]>7){
apro++;}
}
for(x=6;x>0;x--){
if(a[x]<7){
repro--;}
}
ia=(2*apro)*10;
printf("\n\nEl indice de alumnos aprobados es del %d %%\n",ia);
ir=100-ia;
printf("\n\nEl indice de alumnos reprobados es del %d %%\n",ir);
return 0; }
<<Mentor's note: post edited for clarity. Please use code tags.>>

Last edited by a moderator:

DrClaude
Mentor
one teacher wants to know the % of fail and aproved of the class of "N" number of students,
Your program doesn't work for arbitrary N.

its almost done but the program dont show the "how much students failed the curse"
Could you please give more details as to what doesn't work?

C:
for(x=6;x>0;x--){
if(a[x]<7){
repro--;}
}
The index of a is out of bounds.

Ok more detailed, my program when runs display every thing exept for how much students failed the curse, i mean the program do the calculations for % of failed students but dont display the number of failed students

Could you please give more details as to what doesn't work?
i think its more a little error than a serious code break error

DrClaude
Mentor
I have no problem running your code.

rcgldr
Homework Helper
Fixes noted in comments. I'm not sure if there are any other issues.

C:
#include<stdio.h>
int main(){
int x,a[5],ia,ir,repro=0,apro=0;
for(x=0;x<5;x++){
printf("ingrese la calificacion del alumno %d:\n",x+1);
scanf("%d",&a[x]);
}
for(x=0;x<5;x++){
if(a[x]>7){
apro++;}
}
for(x=5;x>0;x--){        /* changed 6 to 5 */
if(a[x]<=7){        /* changed < to <= */
repro--;}
}
ia=(2*apro)*10;
printf("\n\nEl indice de alumnos aprobados es del %d %%\n",ia);
ir=100-ia;
printf("\n\nEl indice de alumnos reprobados es del %d %%\n",ir);
return 0; }

The second two loops could be combined:

Code:
for(x=0;x<5;x++){
if(a[x]>7){
apro++;}
else{
repro--;}
}