{"id":2068,"date":"2017-01-31T13:54:24","date_gmt":"2017-01-31T12:54:24","guid":{"rendered":"http:\/\/www.webotlet.hu\/?p=2068"},"modified":"2019-03-01T10:17:18","modified_gmt":"2019-03-01T09:17:18","slug":"c-programozas-2010-majus-emelt-informatika-erettsegi-programozasi-feladat-megoldasa","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=2068","title":{"rendered":"C++ programoz\u00e1s &#8211; 2010 m\u00e1jus emelt informatika \u00e9retts\u00e9gi &#8211; Helyjegy"},"content":{"rendered":"<p>A feladat le\u00edr\u00e1s\u00e1t, melynek a megold\u00e1s\u00e1t k\u00f6zz\u00e9teszem, <a href=\"https:\/\/www.oktatas.hu\/kozneveles\/erettsegi\/feladatsorok_vizsgatargyankent\/!DARI_ErettsegiFeladatsorok\/oh.php?id=letoltes&#038;tema=erettsegi&#038;f=erettsegi_2010\/e_info_10maj_fl.pdf\">innen<\/a> t\u00f6ltheted le. Az <a href=\"http:\/\/www.webotlet.hu\/wp-content\/uploads\/2017\/01\/webotlet_10maj_helyjegy_cpp.7z\">innen<\/a> let\u00f6lthet\u0151 t\u00f6m\u00f6r\u00edtett \u00e1llom\u00e1nyokban megtal\u00e1lod a Code::Blocks-ban megnyithat\u00f3 projectet, \u00e9s a feladat a forr\u00e1sait. A kicsomagol\u00e1shoz a 7zip nev\u0171 ingyenes programot javaslom.<\/p>\n<p>A feladat megold\u00e1sa az esetleges k\u00f6zponti megold\u00e1sok logik\u00e1j\u00e1t\u00f3l elt\u00e9rhet. V\u00e9lem\u00e9nyem szerint nem a tr\u00fckk\u00f6s megold\u00e1sok azok, amelyeket hamarabb kital\u00e1l az ember, hanem a t\u00f6bb l\u00e9p\u00e9sben, de elemi algoritmusok haszn\u00e1lat\u00e1val k\u00e9sz\u00edtett megold\u00e1s az, amely sok esetben sokkal hamarabb elk\u00e9sz\u00fcl.<\/p>\n<p>J\u00f6jj\u00f6n akkor a forr\u00e1sk\u00f3d:<\/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\nint kerekit(int ar)\r\n{\r\n    int marad;\r\n    marad = ar % 10;\r\n    if( marad == 1 || marad == 6 )\r\n    {\r\n        ar = ar-1;\r\n    }\r\n    else if( marad == 2 || marad == 7 )\r\n    {\r\n        ar = ar-2;\r\n    }\r\n    else if( marad == 3 || marad == 8 )\r\n    {\r\n        ar = ar+2;\r\n    }\r\n    else if( marad == 4 || marad == 9 )\r\n    {\r\n        ar = ar+1;\r\n    }\r\n    return ar;\r\n}\r\n\r\n\r\nclass jegy\r\n{\r\npublic:\r\n    int hely;\r\n    int kezd;\r\n    int veg;\r\n    int sorszam;\r\n    int tav;\r\n    int ar;\r\n\r\n    string toString()\r\n    {\r\n        stringstream ss;\r\n        ss &lt;&lt; hely &lt;&lt; &quot; &quot; &lt;&lt; kezd &lt;&lt; &quot; &quot; &lt;&lt; veg &lt;&lt; &quot; &quot; &lt;&lt; sorszam &lt;&lt;\r\n           &quot; &quot; &lt;&lt; tav &lt;&lt; &quot; &quot; &lt;&lt; ar &lt;&lt; endl;\r\n        return ss.str();\r\n    }\r\n};\r\n\r\nint main()\r\n{\r\n\/\/ 1. feladat\r\n    ifstream input(&quot;eladott.txt&quot;);\r\n    int meret;\r\n    int hossz;\r\n    int ar10;\r\n\r\n    input &gt;&gt; meret &gt;&gt; hossz &gt;&gt; ar10;\r\n\r\n    jegy jegyek&#x5B;meret];\r\n\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        input &gt;&gt; jegyek&#x5B;i].hely &gt;&gt; jegyek&#x5B;i].kezd &gt;&gt; jegyek&#x5B;i].veg;\r\n        jegyek&#x5B;i].sorszam = i+1;\r\n        jegyek&#x5B;i].tav = jegyek&#x5B;i].veg - jegyek&#x5B;i].kezd;\r\n\/\/        cout &lt;&lt; jegyek&#x5B;i].toString() &lt;&lt; endl;\r\n    }\r\n    input.close();\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; jegyek&#x5B;meret-1].hely &lt;&lt; &quot; &quot; &lt;&lt; jegyek&#x5B;meret-1].tav &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    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        if( jegyek&#x5B;i].tav == hossz )\r\n        {\r\n            cout &lt;&lt; jegyek&#x5B;i].sorszam &lt;&lt; &quot; &quot;;\r\n        }\r\n    }\r\n    cout &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    int ar;\r\n    int km10;\r\n    int osszeg = 0;\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        km10 = jegyek&#x5B;i].tav\/10;\r\n        if( jegyek&#x5B;i].tav % 10 &gt; 0 )\r\n        {\r\n            km10++;\r\n        }\r\n        ar = kerekit(km10*ar10);\r\n        jegyek&#x5B;i].ar = ar;\r\n\r\n        osszeg += jegyek&#x5B;i].ar;\r\n    }\r\n\r\n    cout &lt;&lt; &quot;A tarsasag jegybevetele: &quot; &lt;&lt; osszeg &lt;&lt; &quot; Ft&quot; &lt;&lt; endl;\r\n\r\n\/\/ 5. feladat\r\n    cout &lt;&lt; endl &lt;&lt; &quot;5. feladat&quot; &lt;&lt; endl;\r\n    int max = 0;\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        if( jegyek&#x5B;i].kezd &gt; max )\r\n        {\r\n            max = jegyek&#x5B;i].kezd;\r\n        }\r\n        if( jegyek&#x5B;i].veg &gt; max &amp;&amp; jegyek&#x5B;i].veg != hossz )\r\n        {\r\n            max = jegyek&#x5B;i].veg;\r\n        }\r\n    }\r\n    cout &lt;&lt; max &lt;&lt; endl;\r\n\r\n    int le = 0;\r\n    int fel = 0;\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        if( jegyek&#x5B;i].kezd == max  )\r\n        {\r\n            fel++;\r\n        }\r\n\r\n        if( jegyek&#x5B;i].veg == max  )\r\n        {\r\n            le++;\r\n        }\r\n    }\r\n    cout &lt;&lt; &quot;fel: &quot; &lt;&lt; fel &lt;&lt; &quot; le: &quot; &lt;&lt; le &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    int tomb2&#x5B;hossz+1];\r\n\r\n    for( int i = 0; i &lt; hossz+1; i++ )\r\n    {\r\n        tomb2&#x5B;i] = 0;\r\n    }\r\n\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        tomb2&#x5B;jegyek&#x5B;i].kezd]++;\r\n        tomb2&#x5B;jegyek&#x5B;i].veg]++;\r\n    }\r\n\r\n    int db = 0;\r\n    for( int i = 0; i &lt; hossz+1; i++ )\r\n    {\r\n        if( tomb2&#x5B;i] &gt; 0 )\r\n        {\r\n            db++;\r\n        }\r\n    }\r\n    cout &lt;&lt; db &lt;&lt; endl;\r\n\r\n\/\/ 7. feladat\r\n    cout &lt;&lt; endl &lt;&lt; &quot;7. feladat&quot; &lt;&lt; endl;\r\n    cout &lt;&lt; &quot;Adja meg, az ut melyik kilometeren keri az utaslistat! &quot;;\r\n    int km;\r\n    cin &gt;&gt; km;\r\n\r\n    int ulesek&#x5B;49] = {0};\r\n\r\n\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        if( jegyek&#x5B;i].kezd &lt;= km &amp;&amp; jegyek&#x5B;i].veg &gt; km)\r\n        {\r\n            ulesek&#x5B;jegyek&#x5B;i].hely] = jegyek&#x5B;i].sorszam;\r\n        }\r\n    }\r\n\r\n    ofstream output(&quot;kihol.txt&quot;);\r\n    for( int i = 1; i &lt; 49; i++ )\r\n    {\r\n        if( ulesek&#x5B;i] == 0 )\r\n        {\r\n            output &lt;&lt; i &lt;&lt; &quot;. ules: ures&quot; &lt;&lt; endl;\r\n        }\r\n        else\r\n        {\r\n            output &lt;&lt; i &lt;&lt; &quot;. ules: &quot; &lt;&lt; ulesek&#x5B;i] &lt;&lt; &quot;. utas&quot; &lt;&lt; endl;\r\n        }\r\n    }\r\n\r\n    return 0;\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>A feladat le\u00edr\u00e1s\u00e1t, melynek a megold\u00e1s\u00e1t k\u00f6zz\u00e9teszem, innen t\u00f6ltheted le. Az innen let\u00f6lthet\u0151 t\u00f6m\u00f6r\u00edtett \u00e1llom\u00e1nyokban megtal\u00e1lod a Code::Blocks-ban megnyithat\u00f3 projectet, \u00e9s a feladat a forr\u00e1sait. A kicsomagol\u00e1shoz a 7zip nev\u0171 ingyenes programot javaslom. A feladat megold\u00e1sa az esetleges k\u00f6zponti megold\u00e1sok <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=2068\">Tov\u00e1bb <span class=\"screen-reader-text\">  C++ programoz\u00e1s &#8211; 2010 m\u00e1jus emelt informatika \u00e9retts\u00e9gi &#8211; Helyjegy<\/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":[158,189,159,107,109],"class_list":["post-2068","post","type-post","status-publish","format-standard","hentry","category-c-emelt-erettsegi-feladatok","tag-c","tag-c-feladat","tag-c-programozas","tag-emelt-erettsegi","tag-emelt-informatika-erettsegi"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2068","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=2068"}],"version-history":[{"count":5,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2068\/revisions"}],"predecessor-version":[{"id":2461,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2068\/revisions\/2461"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2068"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2068"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2068"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}