//Berezvai Dániel
//BEDTACI.ELTE

#include <iostream>
#include <stdlib.h>
#include <vector>
#include "matrix_feltolt_bill.h"
#include "matrix_feltolt_fajl.h"
#include "read.h"

using namespace std;

bool legjobb(const vector<vector<int> > &naplo, double &max, int &ind);
void osszeg_darab(const vector<int> &v, double &s, int &c);

bool egyketto(int n){return 1==n || 2==n;}

int main(){
	setlocale(LC_ALL,"Hun");

	cout<<"1 - fájlból\n2 - billentyűzetről\n";
	int a=read_int("Válasszon: ","Csak 1 vagy 2 lehet!",egyketto);

	vector<vector<int> > naplo;

	switch(a){
		case 1: fajl::feltolt(naplo); break;
		case 2: bill::feltolt(naplo); break;
	}

	double max;
	int ind;

	if(legjobb(naplo, max, ind)){
		cout<<"A(z) "<<ind+1<<". diák a legjobb, "<<max<<" eredménnyel.\n";
	}else{
		cout<<"Senki sem kapott osztályzatot!\n";
	}

	return 0;
}

bool legjobb(const vector<vector<int> > &naplo, double &max, int &ind){
	bool l=false;
	for(int i=0;i<(int)naplo.size();i++){
		int c;
		double s;
		osszeg_darab(naplo[i],s,c);
		if(0==c){continue;}
		if(l){
			if(s/c>max){
				max=s/c;
				ind=i;
			}
		}else{
			l=true;
			max=s/c;
			ind=i;
		}
	}
	return l;
}

void osszeg_darab(const vector<int> &v, double &s, int &c){
	s=0.0;
	c=0;
	for(int j=0;j<(int)v.size();j++){
		if(v[j]!=0){
			s+=v[j];
			c++;
		}
	}
}
