online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
/* Sprendė Eimutis Karčiauskas 1966m. laidos abiturientas KTU licėjus (buvusi Kauno 22 (Purienų) vid.m-la) -sąlyga: https://www.nsa.smm.lt/wp-content/uploads/2021/03/3679_2013-IT-1-uzd-intern.pdf ------- duomenis perkelkite į failą 15 Vilnius Vilniaus 541278 Dusetos Utenos 4211 Alytus Alytaus 69859 Druskininkai Alytaus 16890 Ignalina Utenos 6307 Kavarskas Utenos 753 Lazdijai Alytaus 5027 Simnas Alytaus 1940 Trakai Vilniaus 5504 Utena Utenos 33086 Veisiejai Alytaus 1673 Vievis Vilniaus 5246 Lentvaris Vilniaus 11832 Visaginas Utenos 28438 Zarasai Utenos 8001 */ #include <iostream> #include <algorithm> using namespace std; struct Apskritis { string vardas; // apskrities vardas int miestu_sk; // miestų skaičius apskrityje int gyv_sk; // visų apskrities gyventojų skaičius int min_miest; // mažiausio miestelio gyv. skaičius }; // rezervuojame vietą apskričių sąrašui Apskritis apskritys[100]; // pagal nutylėjimą reikšmės nulinės int ap_sk = 0; // tikras apskričių skaičius //------------------------------------------------ // taikysime paiešką su apsaugine reikšme pabaigoje int formuotiApskritiesInd(string paieska) { apskritys[ap_sk].vardas = paieska; // visada rasime :) int i = 0; while (apskritys[i].vardas != paieska) i++; if(i == ap_sk) ap_sk++; // jei nebuvo - padidiname return i; } //------------------------------------------------ void skaityti(){ // skaitomas srautas ir formuojamas sąrašas int n; // miestelių skaičius cin >> n; string miestas, apskritis; int miesto_gsk; for (int i = 0; i < n; i++){ cin >> miestas >> apskritis >> miesto_gsk; int ind = formuotiApskritiesInd(apskritis); apskritys[ind].miestu_sk++; apskritys[ind].gyv_sk += miesto_gsk; int mm = apskritys[ind].min_miest; apskritys[ind].min_miest = (mm==0)? miesto_gsk: min(mm, miesto_gsk); } } //============================================ bool ar_tvarka(Apskritis a, Apskritis b){ // rikiavimo kriterijus return a.min_miest < b.min_miest || a.min_miest == b.min_miest && a.vardas < b.vardas; } void rikiuoti(Apskritis mas[], int n){ for (int i=0; i<n-1; i++) for (int j = i+1; j < n; j++) if(!ar_tvarka(mas[i], mas[j])) swap(mas[i], mas[j]); } //------------------------------------------------ void spausdinti(){ // pageidaujamų rezultatų išvedimas cout << ap_sk << endl; for (int i = 0; i < ap_sk; i++){ Apskritis a = apskritys[i]; cout << a.vardas << " " << a. min_miest << " " << a.gyv_sk << endl; } } //------------------------------------------------ int main(){ freopen ("U1.txt","r",stdin); //freopen ("U1rez.txt","w",stdout); skaityti(); rikiuoti(apskritys, ap_sk); //sort(apskritys, apskritys + ap_sk, arTvarka); spausdinti(); }
15 Vilnius Vilniaus 541278 Dusetos Utenos 4211 Alytus Alytaus 69859 Druskininkai Alytaus 16890 Ignalina Utenos 6307 Kavarskas Utenos 753 Lazdijai Alytaus 5027 Simnas Alytaus 1940 Trakai Vilniaus 5504 Utena Utenos 33086 Veisiejai Alytaus 1673 Vievis Vilniaus 5246 Lentvaris Vilniaus 11832 Visaginas Utenos 28438 Zarasai Utenos 8001
3 Utenos 753 80796 Alytaus 1673 95389 Vilniaus 5246 563860

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