online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
/* Sprendė Eimutis Karčiauskas 1966m. laidos abiturientas ------- duomenis perkelkite į failą 6 Petras A. Petraitis 213 15 20 00 Jurgis Jurgutis 221 16 12 12 Rima Joana 115 15 15 59 Zigmas Nosis 256 16 23 9 Roma Liepa 111 15 15 15 Rytis Uosis Ainis 255 16 23 9 5 256 16 43 15 5 5 5 5 213 15 50 10 4 0 5 3 111 16 5 35 5 4 255 16 55 59 5 4 3 1 115 16 42 22 2 5 */ #include <iostream> using namespace std; struct Dalyvis{ int startoNum; string ident; // dalyvio identifikuojanti informacija int laikas; // viskas apjungta į sekundes nuo paros pradžios }; Dalyvis dalyviai[100]; int dalN, finN; // *************************************************** void startoDuomenys() { cin >> dalN; for(int i=0; i<dalN; i++){ cin.ignore(80, '\n'); // pradedame skaityti nuo naujos eilutės char idBuf[21]; // buferis ident nuskaitymui cin.get(idBuf, 21); // fiksuoto teksto dydžio nuskaitymas Dalyvis d; // tarpinis kintamasis int val, min, sek; cin >> d.startoNum >> val >> min >> sek; d.ident = idBuf; d.laikas = (val*60 + min) * 60 + sek; dalyviai[i] = d; } } // *************************************************** // perskaito finišavusių dalyvių duomenis (laiką ir taiklius šūvius) // ir suformuoja bendrą merginų ir vaikinų sąrašą void finisoDuomenys() { cin >> finN; for(int i=0; i<finN; i++){ int num, val, min, sek, t1, t2; // laikas ir taiklūs šūviai cin >> num >> val >> min >> sek >> t1 >> t2; int finisoLaikas = (val*60 + min) * 60 + sek; int bauda = (10 - t1 - t2) * 60; int iFin = 0; // randame finišavusio dalyvio indeksą while(dalyviai[iFin].startoNum != num) iFin++; dalyviai[iFin].laikas = finisoLaikas + bauda - dalyviai[iFin].laikas; if(num / 100 == 2) { // vaikinams papildomos 2 šaudyklos ir baudos cin >> t1 >> t2; dalyviai[iFin].laikas += (10 - t1 - t2) * 60; } } } // *************************************************** bool arTvarka(Dalyvis& a, Dalyvis& b){ return a.laikas > b.laikas || a.laikas == b.laikas && a.ident > b.ident; } void rikiuoti(Dalyvis mas[], int n){ for(int i = 0; i < n - 1; i++){ for(int j = i + 1; j < n; j++){ if(arTvarka(mas[i], mas[j])) swap(mas[i], mas[j]); } } } // *************************************************** // peržiūri bendrą dalyvių sąrašą ir atrenka pagal lytį void spausdinti(string lytis){ cout << lytis << endl; int pozymis = lytis == "Merginos"? 1: 2; for(int i=0; i<finN; i++){ Dalyvis d = dalyviai[i]; int t = d.laikas; if(d.startoNum / 100 == pozymis) cout << d.startoNum << " " << d.ident << " " << t / 3600 <<" "<< (t % 3600) / 60 <<" "<< t % 60 << endl; } } // *************************************************** int main() { freopen ("U2.txt","r",stdin); //freopen ("U2rez.txt","w",stdout); // pradžioje uždenkite startoDuomenys(); finisoDuomenys(); rikiuoti(dalyviai, dalN); spausdinti("Merginos"); spausdinti("Vaikinai"); }
6 Petras A. Petraitis 213 15 20 00 Jurgis Jurgutis 221 16 12 12 Rima Joana 115 15 15 59 Zigmas Nosis 256 16 23 9 Roma Liepa 111 15 15 15 Rytis Uosis Ainis 255 16 23 9 5 256 16 43 15 5 5 5 5 213 15 50 10 4 0 5 3 111 16 5 35 5 4 255 16 55 59 5 4 3 1 115 16 42 22 2 5

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue