{"id":3082,"date":"2020-01-13T07:44:12","date_gmt":"2020-01-13T06:44:12","guid":{"rendered":"https:\/\/www.webotlet.hu\/?p=3082"},"modified":"2020-01-13T07:44:12","modified_gmt":"2020-01-13T06:44:12","slug":"c-programozas-2012-majusi-emelt-informatika-erettsegi-futar","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=3082","title":{"rendered":"C++ programoz\u00e1s \u2013 2012 m\u00e1jusi emelt informatika \u00e9retts\u00e9gi \u2013 fut\u00e1r"},"content":{"rendered":"<p>A feladat le\u00edr\u00e1s\u00e1t, melynek a megold\u00e1s\u00e1t k\u00f6zz\u00e9teszem, <a href=\"https:\/\/www.webotlet.hu\/wp-content\/uploads\/2020\/01\/e_inf_12maj_futar.pdf\">innen<\/a> t\u00f6ltheted le.<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\n#include &lt;iostream&gt;\r\n#include &lt;fstream&gt;\r\n#include &lt;sstream&gt;\r\n\r\nusing namespace std;\r\n\r\n\/\/ adatt\u00e1rol\u00f3 oszt\u00e1ly\r\nclass futar\r\n{\r\npublic:\r\n    int nap;\r\n    int sorszam;\r\n    int km;\r\n    int penz;\r\n\r\n    string toString()\r\n    {\r\n        stringstream ss;\r\n        ss &lt;&lt; nap &lt;&lt; &quot; &quot; &lt;&lt; sorszam &lt;&lt; &quot; &quot;\r\n        &lt;&lt; km&lt;&lt; &quot; &quot; &lt;&lt; penz &lt;&lt; endl;\r\n        return ss.str();\r\n    }\r\n};\r\n\r\n\/\/ mennyi km mennyi p\u00e9nzt jelent\r\nint getpenz( int km )\r\n{\r\n    int penz = 0;\r\n    if( km &lt;= 2 )\r\n    {\r\n        penz = 500;\r\n    }\r\n    else if( km &lt;= 5 )\r\n    {\r\n        penz = 700;\r\n    }\r\n    else if( km &lt;= 10 )\r\n    {\r\n        penz = 900;\r\n    }\r\n    else if( km &lt;= 20 )\r\n    {\r\n        penz = 1400;\r\n    }\r\n    else if( km &lt;= 30 )\r\n    {\r\n        penz = 2000;\r\n    }\r\n\/\/ nincs else \u00e1g, nem megfelel\u0151 \u00e9rt\u00e9kek eset\u00e9n 0 lesz.\r\n    return penz;\r\n}\r\n\r\nint main()\r\n{\r\n    ifstream input(&quot;tavok.txt&quot;);\r\n    int meret = 0;\r\n    string sor;\r\n\/\/ sorok megsz\u00e1mol\u00e1sa\r\n    while( getline(input,sor) )\r\n    {\r\n        meret++;\r\n    }\r\n\r\n    futar fuvarok&#x5B;meret];\r\n\r\n\/\/ f\u00e1jl elej\u00e9re vissza\u00e1ll\u00e1s\r\n    input.clear();\r\n    input.seekg(0);\r\n\r\n\/\/ beolvas\u00e1s\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        input &gt;&gt; fuvarok&#x5B;i].nap &gt;&gt; fuvarok&#x5B;i].sorszam &gt;&gt; fuvarok&#x5B;i].km;\r\n\/\/ a p\u00e9nz v\u00e1ltoz\u00f3t k\u00e9s\u0151bb vezettem be, de ut\u00f3lag a beolvas\u00e1skor be\u00e1ll\u00edtok\r\n\/\/ egy nem val\u00f3di \u00e9rt\u00e9ket\r\n        fuvarok&#x5B;i].penz = -1;\r\n    }\r\n\r\n\/\/ rendez\u00e9s\r\n    for( int i = 0; i &lt; meret-1; i++ )\r\n    {\r\n        for( int j = i+1; j &lt; meret; j++ )\r\n        {\r\n            futar csere;\r\n            if( fuvarok&#x5B;i].nap &gt; fuvarok&#x5B;j].nap\r\n               || (fuvarok&#x5B;i].nap == fuvarok&#x5B;j].nap\r\n                   &amp;&amp; fuvarok&#x5B;i].sorszam &gt; fuvarok&#x5B;j].sorszam) )\r\n            {\r\n                csere = fuvarok&#x5B;i];\r\n                fuvarok&#x5B;i] = fuvarok&#x5B;j];\r\n                fuvarok&#x5B;j] = csere;\r\n            }\r\n        }\r\n    }\r\n\r\n\/\/ rendezett t\u00f6mb ki\u00edr\u00e1sa\r\n\/\/ az utols\u00f3 elemnek m\u00e9g nincs \u00e9rt\u00e9ke\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        cout &lt;&lt; fuvarok&#x5B;i].toString();\r\n    }\r\n    cout &lt;&lt; endl;\r\n\r\n    \/\/ 2. feladat\r\n    cout &lt;&lt; endl &lt;&lt; &quot;2. feladat&quot; &lt;&lt; endl;\r\n    cout &lt;&lt; fuvarok&#x5B;0].km &lt;&lt; endl;\r\n\r\n    \/\/ 3. feladat\r\n    cout &lt;&lt; endl &lt;&lt; &quot;3. feladat&quot; &lt;&lt; endl;\r\n    cout &lt;&lt; fuvarok&#x5B;meret-1].km &lt;&lt; endl;\r\n\r\n    \/\/ 4. feladat\r\n    cout &lt;&lt; endl &lt;&lt; &quot;4. feladat&quot; &lt;&lt; endl;\r\n\/\/ egy 8 elem\u00fa t\u00f6mb, ahol az egyes napok\r\n\/\/ fuvarjainak darabsz\u00e1m\u00e1t gy\u0171jt\u00f6m\r\n\/\/ a t\u00f6mb indexei a napok\r\n\/\/ a t\u00f6mb\u00f6t el\u0151sz\u00f6r null\u00e1zzuk\r\n    int darabszam&#x5B;8] = {0};\r\n\r\n\/\/ t\u00f6bbsz\u00f6r\u00f6s megsz\u00e1ml\u00e1l\u00e1s\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n\/\/ az adott napnak megfelel\u0151 index\u0171 elemeket megn\u00f6velj\u00fck\r\n\/\/ ezzel megsz\u00e1moljuk, melyik nap h\u00e1ny fuvar volt\r\n        darabszam&#x5B;fuvarok&#x5B;i].nap]++;\r\n    }\r\n\r\n\/\/az els\u0151 nap adatait nem \u00edrom ki, 0. nap nincs\r\n    for( int i = 1; i &lt;= 7; i++ )\r\n    {\r\n        if( darabszam&#x5B;i] == 0 )\r\n        {\r\n            cout &lt;&lt; i &lt;&lt; endl;\r\n        }\r\n    }\r\n\r\n    \/\/ 5. feladat\r\n    cout &lt;&lt; endl &lt;&lt; &quot;5. feladat&quot; &lt;&lt; endl;\r\n\/\/ maximumkeres\u00e9s a napi darabsz\u00e1mok t\u00f6mbben\r\n    int max = 1;\r\n\/\/ az\u00e9rt 2-t\u0151l indulok, mert 0. nap nincs, \u00e9s el\u0151sz\u00f6r\r\n\/\/ a h\u00e9tf\u0151t (1) tekintj\u00fck a legnagyobbnak, \u00edrd a\r\n\/\/ 2-es napt\u00f3l (kedd) kell indulni\r\n    for( int i = 2; i &lt;= 7; i++ )\r\n    {\r\n        if( darabszam&#x5B;i] &gt; darabszam&#x5B;max] )\r\n        {\r\n            max = i;\r\n        }\r\n    }\r\n    cout &lt;&lt; max &lt;&lt; endl;\r\n\r\n    \/\/ 6. feladat\r\n    cout &lt;&lt; endl &lt;&lt; &quot;6. feladat&quot; &lt;&lt; endl;\r\n\r\n\/\/ t\u00f6bbsz\u00f6r\u00f6s \u00f6sszead\u00e1s t\u00f6mbje (1-8),\r\n\/\/ ahol az indexek a napot jelentik,\r\n\/\/ \u00e9s a t\u00f6mb\u00f6t null\u00e1zzuk\r\n    int napikm&#x5B;8] = {0};\r\n\r\n\/\/ v\u00e9gigmegy\u00fcnk az utak adatain\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n\/\/ a napikm t\u00f6mb megfelel\u0151 index\u0171 elemeihez \u00f6sszeadjuk\r\n\/\/ az adott nap km adatait\r\n        napikm&#x5B;fuvarok&#x5B;i].nap] += fuvarok&#x5B;i].km;\r\n    }\r\n\r\n\/\/ a megfelel\u0151 napok (1-7) adatainak ki\u00edr\u00e1sa\r\n    for( int i = 1; i &lt;= 7; i++ )\r\n    {\r\n        cout &lt;&lt; i &lt;&lt; &quot;. nap: &quot; &lt;&lt; napikm&#x5B;i] &lt;&lt; &quot; km&quot; &lt;&lt; endl;\r\n    }\r\n\r\n    \/\/ 7. feladat\r\n    cout &lt;&lt; endl &lt;&lt; &quot;7. feladat&quot; &lt;&lt; endl;\r\n    int km;\r\n    cout &lt;&lt; &quot;Irj be egy tavolsagot: &quot;;\r\n    cin &gt;&gt; km;\r\n\r\n    cout &lt;&lt; getpenz(km) &lt;&lt; endl;\r\n\r\n    \/\/ 8. feladat\r\n\/\/ elt\u00e1roljuk, melyik \u00fat mennyi p\u00e9nzt hozott (seg\u00e9df\u00fcggv\u00e9ny)\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        fuvarok&#x5B;i].penz = getpenz(fuvarok&#x5B;i].km);\r\n    }\r\n\r\n\/\/ ki\u00edr\u00e1s f\u00e1jlba\r\n    ofstream output(&quot;dijazas.txt&quot;);\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        output &lt;&lt; fuvarok&#x5B;i].nap &lt;&lt; &quot;. nap &quot;\r\n        &lt;&lt; fuvarok&#x5B;i].sorszam &lt;&lt; &quot;. ut: &quot;\r\n        &lt;&lt; fuvarok&#x5B;i].penz &lt;&lt; &quot; Ft&quot; &lt;&lt; endl;\r\n    }\r\n    output.close();\r\n\r\n    \/\/ 9. feladat\r\n    cout &lt;&lt; endl &lt;&lt; &quot;9. feladat&quot; &lt;&lt; endl;\r\n\/\/ \u00f6sszbev\u00e9tel kisz\u00e1m\u00edt\u00e1sa\r\n    int szum = 0;\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        szum += fuvarok&#x5B;i].penz;\r\n    }\r\n    cout &lt;&lt; szum &lt;&lt; endl;\r\n\r\n    return 0;\r\n}\r\n<\/pre>\n<p>Ha hib\u00e1t tal\u00e1lsz benne, k\u00e9rlek jelezd!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A feladat le\u00edr\u00e1s\u00e1t, melynek a megold\u00e1s\u00e1t k\u00f6zz\u00e9teszem, innen t\u00f6ltheted le. #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;sstream&gt; using namespace std; \/\/ adatt\u00e1rol\u00f3 oszt\u00e1ly class futar { public: int nap; int sorszam; int km; int penz; string toString() { stringstream ss; ss <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=3082\">Tov\u00e1bb <span class=\"screen-reader-text\">  C++ programoz\u00e1s \u2013 2012 m\u00e1jusi emelt informatika \u00e9retts\u00e9gi \u2013 fut\u00e1r<\/span><span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[184],"tags":[],"class_list":["post-3082","post","type-post","status-publish","format-standard","hentry","category-c-emelt-erettsegi-feladatok"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/3082","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3082"}],"version-history":[{"count":1,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/3082\/revisions"}],"predecessor-version":[{"id":3084,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/3082\/revisions\/3084"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}