online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
/* Sprendė Eimutis Karčiauskas 1966m. laidos abiturientas https://www.nsa.smm.lt/wp-content/uploads/2022/06/IT_2022_pagr.pdf <<< Pradiniai duomenys - perkėlimui į failą >>> 6 10 10 20 15 15 20 2 2 5 3 3 5 Ignas 12 22 0 10 12 17 Skirmantas 5 12 0 40 12 30 Milda 10 10 20 22 31 23 Asta Ieva 5 0 17 10 23 23 Rima 8 0 14 23 12 23 */ #include <iostream> #include <algorithm> // reikalinga rikiavimui using namespace std; struct Dalyvis { string vardas; // dalyvio vardas int tsk; // dalyvio taškai int teis_sk; // teisingai išspręstų skaitiklis int min_sk; // minučių skaičius }; // visos reikšmės pagal nutylėjimą nulinės const int dalN = 5; // dalyvių skaičius Dalyvis dalyviai[dalN]; // dalyvių sąrašas int uzdN; // užduočių skaičius int taskai[12]; // užduotims skiriami taškai int laiko_lim[12]; // užduočių laiko limitai //------------------------------------------------ /* pagal užduoties nurodymą: vieną funkciją, kuri apskaičiuoja dalyvio surinktų taškų skaičių, teisingai išspręstų uždavinių skaičių ir šiems uždaviniams spręsti sugaištą laiką minutėmis */ Dalyvis formuoti_dalyvi(){ Dalyvis d; cin.ignore(80, '\n'); // pradedame skaityti nuo naujos eilutės char idBuf[11]; // buferis vardo nuskaitymui cin.get(idBuf, 11); // fiksuoto teksto dydžio nuskaitymas d.vardas = idBuf; d.tsk = 0; // dalyvio taškai d.teis_sk = 0; // dalyvio teisingų skaičius d.min_sk = 0; // dalyvio minutės for (int i=0; i<uzdN; i++){ int dl; // dalyvio laikas i-jai užduočiai spręsti cin >> dl; if (dl > 0){ // jei dalyvio laikas > 0 d.teis_sk++; d.min_sk += dl; int ut = taskai[i]; // uždavinio taškai d.tsk += dl <= laiko_lim[i]? ut: ut/2; } } return d; } //------------------------------------------------ void skaityti(){ // skaitome duomenis iš srauto cin cin >> uzdN; // įvedame užduočių skaičių for(int i=0; i<uzdN; i++) cin >> laiko_lim[i]; for(int i=0; i<uzdN; i++) cin >> taskai[i]; for (int i=0; i < dalN; i++) dalyviai[i] = formuoti_dalyvi(); } //------------------------------------------------ void spausdinti(int max_tsk){ // į ekraną arba į failą cout << max_tsk << endl; for (auto d: dalyviai) if(d.tsk == max_tsk) cout << d.vardas << " " << d.teis_sk << " " << d.min_sk << endl; } //------------------------------------------------ int max_taskai(){ int max_tsk = 0; for (auto d: dalyviai) max_tsk = max(max_tsk, d.tsk); return max_tsk; } //------------------------------------------------ // rikiavimo kriterijaus funkcija bool arTvarka(Dalyvis& a, Dalyvis& b){ return a.teis_sk > b.teis_sk; } //------------------------------------------------ int main(){ freopen ("U1.txt","r",stdin); freopen ("U1rez.txt","w",stdout); skaityti(); sort(dalyviai, dalyviai+dalN, arTvarka); spausdinti(max_taskai()); return 0; }
6 10 10 20 15 15 20 2 2 5 3 3 5 Ignas 12 22 0 10 12 17 Skirmantas 5 12 0 40 12 30 Milda 10 10 20 22 31 23 Asta Ieva 5 0 17 10 23 23 Rima 8 0 14 23 12 23

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