A feladat leírását, melynek a megoldását közzéteszem, innen töltheted le.
#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
struct meccs
{
int fordulo;
int hgol;
int vgol;
int hfgol;
int vfgol;
string hazai;
string vendeg;
string eredmeny()
{
stringstream ss;
if( hgol > vgol )
{
ss << hgol << "-" << vgol;
}
else
{
ss << vgol << "-" << hgol;
}
return ss.str();
}
bool hazai_kikapott()
{
return vgol > hgol;
}
string forditott()
{
if( hgol > vgol && hfgol < vfgol )
{
return hazai;
}
else if( vgol > hgol && vfgol < hfgol )
{
return vendeg;
}
else
{
return "-";
}
}
string toString()
{
stringstream ss;
ss << fordulo << " " << hgol << " " << vgol <<
" " << hfgol << " " << vfgol << " " <<
hazai << " " << vendeg << endl;
return ss.str();
}
};
int main()
{
// 1. feladat
cout << endl << "1. feladat" << endl;
ifstream input("meccs.txt");
int meret;
input >> meret;
meccs meccsek[meret];
for( int i = 0; i < meret; i++ )
{
input >> meccsek[i].fordulo >> meccsek[i].hgol >>
meccsek[i].vgol >> meccsek[i].hfgol >>
meccsek[i].vfgol >> meccsek[i].hazai >>
meccsek[i].vendeg;
cout << meccsek[i].toString();
}
input.close();
// 2. feladat
cout << endl << "2. feladat" << endl;
int fordulo;
cout << "Adja meg a fordulo szamat: ";
cin >> fordulo;
for( int i = 0; i < meret; i++ )
{
if( meccsek[i].fordulo == fordulo )
{
cout << meccsek[i].hazai << "-" <<
meccsek[i].vendeg << ": " <<
meccsek[i].hgol << "-" <<
meccsek[i].vgol << " (" <<
meccsek[i].hfgol << "-" <<
meccsek[i].vfgol << ")" << endl;
}
}
// 3. feladat
cout << endl << "3. feladat" << endl;
for( int i = 0; i < meret; i++ )
{
if( meccsek[i].forditott() != "-" )
{
cout << meccsek[i].fordulo << " " <<
meccsek[i].forditott() << endl;
}
}
// 4. feladat
cout << endl << "4. feladat" << endl;
string csapat;
cout << "Adjon meg egy csapatnevet: ";
cin >> csapat;
// 5. feladat
cout << endl << "5. feladat" << endl;
int lott = 0;
int kapott = 0;
for( int i = 0; i < meret; i++ )
{
if( meccsek[i].hazai == csapat )
{
lott += meccsek[i].hgol;
kapott += meccsek[i].vgol;
}
else if( meccsek[i].vendeg == csapat )
{
lott += meccsek[i].vgol;
kapott += meccsek[i].hgol;
}
}
cout << "lott: " << lott << " kapott: " << kapott << endl;
// 6. feladat
cout << endl << "6. feladat" << endl;
// 1. megoldas
// kivalogatjuk azokat a meccseket,
// ahol a hazai csapat kikapott
int db = 0;
for( int i = 0; i < meret; i++ )
{
if( meccsek[i].hazai == csapat &&
meccsek[i].hazai_kikapott() )
{
db++;
}
}
meccs hazaikikapott[db];
db = 0;
for( int i = 0; i < meret; i++ )
{
if( meccsek[i].hazai == csapat &&
meccsek[i].hazai_kikapott() )
{
hazaikikapott[db] = meccsek[i];
db++;
}
}
// megnezzuk, hogy a 21 fordulotol van-e kisebb
// (21-es fordulo nem letezhet, tehat ha van kisebb,
// akkor kikapott otthon)
int min = 21;
for( int i = 0; i < db; i++ )
{
if( hazaikikapott[i].fordulo < min )
{
min = hazaikikapott[i].fordulo;
}
}
if( min == 21 )
{
cout << "A csapat otthon veretlen maradt." << endl;
}
else
{
cout << "A csapat eloszor a " << min <<
" forduloban kapott ki eloszor otthon." << endl;
}
// 2. megoldas
// 21-es fordulo nincs, igy ha attol kisebbet talalunk,
// akkor kikapott
int fordulomin = 21;
for( int i = 0; i < meret; i++ )
{
if( meccsek[i].hazai == csapat &&
meccsek[i].hazai_kikapott() &&
meccsek[i].fordulo < fordulomin )
{
fordulomin = meccsek[i].fordulo;
}
}
if( fordulomin == 21 )
{
cout << "A csapat otthon veretlen maradt." << endl;
}
else
{
cout << "A csapat eloszor a " << fordulomin <<
" forduloban kapott ki eloszor otthon." << endl;
}
// 7. feladat
cout << endl << "7. feladat" << endl;
string eredmenyek[100];
int erdarab[100] = {0};
db = 0;
for( int i = 0; i < meret; i++ )
{
int hely = 0;
while( hely < db &&
eredmenyek[hely] != meccsek[i].eredmeny() )
{
hely++;
}
if( hely == db )
{
eredmenyek[db] = meccsek[i].eredmeny();
db++;
}
erdarab[hely]++;
}
// nem feladat, de az eredmenyeket meg az eredmeny
// tipusa szerint sorba is lehetne rendezni
for( int i = 0; i < db-1; i++ )
{
for( int j = i+1; j < db; j++ )
{
if( eredmenyek[i] > eredmenyek[j] )
{
swap(eredmenyek[i], eredmenyek[j] );
swap(erdarab[i], erdarab[j] );
}
}
}
ofstream output("stat.txt");
for( int i = 0; i < db; i++ )
{
output << eredmenyek[i] << ": " << erdarab[i] <<
" darab" << endl;
}
return 0;
}

Kedves Csaba!
A 6. feladatban azt is meg kell adni, hogy melyik csapat verte meg a hazai csapatot. Ez hiányzik a megoldásodból.
A feladathoz adott 2. megoldásod 197-es sora után be lehetne szúrni egy string-változót, amelyben tárolhatod a nyertes csapat nevét.
Nem kötekedni akartam, csak észrevettem.
Üdv
Kriszta