#include #include #include using namespace std; int n = 0; struct kalbos{ string p; int sen = 0; int dab = 0; double skirtumas = 0; int did = 0; int didX = 0; int darDid = 0; int darDidX = 0; int visodid = 0; int maz = 0; int mazX = 0; int darMaz = 0; int darMazX = 0; int visomaz = 0; }; kalbos m[100]; void skaitymas(int &n, kalbos m[]); void skaiciavimas(int n, kalbos m[]); void skaiciavimas2(int n, kalbos m[]); void spausdinimas(int n, kalbos m[]); int main() { skaitymas(n, m); skaiciavimas(n, m); skaiciavimas2(n, m); spausdinimas(n, m); } void skaitymas(int &n, kalbos m[]) { char x[25]; ifstream d("duom.txt"); d >> n; d.ignore(); for(int i = 0; i < n; i++) { d.get(x,25); m[i].p = x; d >> m[i].dab >> m[i].sen; d.ignore(); } d.ignore(); d.close(); } void skaiciavimas(int n, kalbos m[]) { for(int i = 0; i < n; i++) { m[i].skirtumas = m[i].sen - m[i].dab; cout << m[i].skirtumas << endl; } } void skaiciavimas2(int n, kalbos m[]) { for(int i = 0; i < n; i++) { if(m[i].skirtumas > m[0].did) { m[0].did = m[i].skirtumas; m[0].didX = i; } } for(int i = 0; i < n; i++) { if(m[i].skirtumas == m[0].did && m[0].didX != i) { m[0].darDid++; } } for(int i = 0; i < n; i++) { if(m[0].did == m[i].skirtumas && m[0].didX != i) { for(int j = 0; j < m[0].darDid; j++) { m[j].darDidX = i; } } } m[0].visodid = m[0].didX; if(m[0].darDid > 0) { for(int i = 0; i < m[0].darDid; i++) { m[i].visodid = m[i].darDidX; } } /// maziausiu paieska /// m[0].maz = m[0].skirtumas; for(int i = 0; i < n; i++) { if(m[i].skirtumas < m[0].maz) { m[0].maz = m[i].skirtumas; m[0].mazX = i; } } for(int i = 0; i < n; i++) { if(m[i].skirtumas == m[0].maz && m[0].mazX != i) { m[0].darMaz++; } } for(int i = 0; i < n; i++) { if(m[0].maz == m[i].skirtumas && m[0].mazX != i) { for(int j = 0; j < m[0].darMaz; j++) { m[j].darMazX = i; } } } m[0].visodid = m[0].mazX; if(m[0].darMaz > 0) { for(int i = 0; i < m[0].darMaz; i++) { m[i].visomaz = m[i].darMazX; } } } void spausdinimas(int n, kalbos m[]) { ofstream r("rez.txt"); cout << m[0].did << endl; for(int i = 0; i < m[0].darDid+1; i++) { cout << m[ m[i].visodid ].p << endl; } cout << m[0].maz << endl; r.close(); }