#include <fstream>
#include <iostream>
using namespace std;
const char CDfv[]="mokykla.txt";
const char CRfv[]="mokykla_rez.txt";
int main ()
{
int n, m, max;
ifstream fd(CDfv);
ofstream fr(CRfv);
// nuskaitom mokiniu kieki
fd >> n;
for (int i=0; i<n; i++) { // einam per kiekviena mokini
max = 0; // reset
for (int j=0; j<3; j++) // nuskaitom kiekviena mokinio bala
{
fd >> m;
if (m > max) // ziurim ar naujas balas didesnis uz sena
max = m;
}
fr << max << endl;
}
fd.close();
fr.close();
return 0;
}
EDIT: variantas su funkcija
#include <fstream>
#include <iostream>
using namespace std;
const char CDfv[]="mokykla.txt";
const char CRfv[]="mokykla_rez.txt";
int mokinioBalas(ifstream &fd, int balai)
{
int m, max = 0;
for (int j=0; j<balai; j++) {
fd >> m;
if (m > max)
max = m;
}
return max;
}
int main ()
{
int n;
ifstream fd(CDfv);
ofstream fr(CRfv);
fd >> n;
for (int i=0; i<n; i++) {
fr << mokinioBalas(fd, 3) << endl;
}
fd.close();
fr.close();
return 0;
}
EDIT 2: Pridejau komentaru prie tavo kodo, kurie gal pades kiek suprasti, kodel jis blogas
#include <fstream>
#include <iostream>
#include <cmath>
using namespace std;
void mokykla()
{
int n,; // 1) sintakses klaida: nereikalingas kablelis;
// 2) 'n' sioj vietoj nera lygus 'n' main() funkcijoj, tad jis niekad nera inicijuotas (turetu buti int n=3, pagal salyga).
// Jei niekad nepriskiriama reiksme, 'n' paprastai bus kazkokia random reiksme, kuria paeme is atminties
int s=0;
// cikle:
// 'fd', 'a', 'b' - nera tie patys, kurie buvo nurodyti main() funkcijoje, ir siuo atveju mes klaida.
// kad sie kintamieji butu tie patys kaip main() funkcijoj, reikejo juos perduoti kaip funkcijos mokykla() parametrus;
for (int i=1; i<=n; i++) {
// sakykim sutvarkem 'fd', 'a', 'b' ir pasiekem sia vieta.
fd>>a; // priskiriam kintamajam 'a' sekancia reikme is failo
if (s<b) // reikejo 's' lyginti su 'a', nes tai duomuo, kuri nuskaitei
s=b;
}
}
const char CDfv[]="mokykla.txt";
const char CRfv[]="mokykla_rez.txt";
int main ()
{
int n,b,c,d,s,a;
ifstream fd(CDfv);
ofstream fr(CRfv);
fd>>n;
for (int i=1; i<=n; i++) {
// sakykim, kad funkcija mokykla() veikia:
// pagal esama mokykla() implementacija, si funkcija pati nuskaito visus 3 mokinio balus,
// tad fd>>a, fd>>b, fd>>c - nuskaito nebe esamo, bet sekancio mokinio balus
mokykla();
fd>>b; // nereikia
fd>>c; // nereikia
fd>>d; // nereikia
fr<<s<<endl; // cia naudojamas 's' nera lygus kintamajam 's', kuris naudojamas mokykla() funkcijoj.
// kad 's' turetu musu surasta reiksme, butu reikeje perduoti 's' mokykla() funkcijai, kaip reference
// ir tuo paciu pakoreguoti mokykla(), kad ji naudotu perduota 's', o ne savo kurtu.
}
fd.close();
fr.close();
return 0;
}