#include<iostream>
#include<fstream>
#include<string>
using namespace std ;
int i,j;
string name[20] ;
int sum[20],total_s, min[20],max[20],ex_min[20],ex_max[20],count = 0,min_e[3],max_e[3];

int student_s[20][3], student_max[3],student_min[3],sumationof_e[3] ;

int main () 
{

ifstream infile;
infile.open("scores.txt");
for ( i = 0;i < 20; i++)
{	sum[i] = 0 ; 
	min[i] = 100; 
	max[i]=0;
		
	  if ( i < 3 )
	  {
		sumationof_e[i] = 0 ;
		min_e[i] = 100;
		max_e[i] = 0;
	  }
}
for ( i = 0;i < 20; i++)
{
	infile>> name[i];
	//cout << name[i] << "\t";
	
	for ( j =0 ; j < 3 ; j++)
	{
		infile >> student_s[i][j];
//	cout << student_s[i][j]<<"\t";
	}
	cout <<endl;
}
for ( i = 0;i < 20; i++)
{
	for ( j =0 ; j < 3 ; j++)
	{
		total_s+= student_s[i][j];
		sumationof_e[j]+=student_s[i][j];
		sum[i]+=student_s[i][j];

		if (student_s[i][j] < min[i])
		{
			min[i] = student_s[i][j];
			ex_min[i] = j+1;
		}

		if (student_s[i][j] > max[i])
		{
			max[i] = student_s[i][j];
			ex_max[i] = j+1;
		}
		if ( student_s[i][j]<=100 && student_s[i][j]>=90)
			count++;
	}

}

cout <<endl;

for ( i = 0;i < 20; i++)
{
	cout <<" The average score of " << name[i] << " is  " <<sum[i]/3.0 <<endl;
	cout << "The maximum score of " << name[i] << " is  " << max[i] << " and she get it in exam number " << ex_max[i] <<endl;;
	cout << "The minimum score of " << name[i] << " is  " << min[i] << " and she get it in exam number " << ex_min[i] <<endl <<endl;
}
cout <<endl;
for ( i =0 ; i < 3;i++)
cout << "The average score of exam number " << i+1 << " is " <<sum[i]/20.0 <<endl;

for ( i = 0;i < 3; i++)
{
	for ( j =0 ; j< 20 ; j++)
	{
		if (  ex_min[j] == i+1 )
		{
			if ( min[j] < min_e[i] )
			{
				min_e[i] = min[j];
				student_min[i] = j;
			}
		}
		if (  ex_max[j] == i+1 )
		{
			if ( max[j] > max_e[i] )
			{
				max_e[i] = max[j];
				student_max[i] = j ;
			}
		}
	}
}
cout <<endl;
for ( i =0 ; i<3 ; i++)

{
	cout <<"The maximum score of exam number " << i+1 << " is  " << max_e[i] << " and  " << name[student_max[i]] <<" got it "<<endl; 
	cout <<"the minimum score of exam number" << i+1 << " is  " << min_e[i] << " and  " << name[student_min[i]] <<" got it "<<endl;
}

    cout<<"********************************************************"<<endl;
	cout << "The overall average of the class is" <<  total_s/60.0<<endl;
	cout <<"There are " << count << " scores between 90 and 100 in all three exam for each student"<<endl;
	cout<<"**********************************************************"<<endl;
infile.close ();

return 0 ;
}
