{"id":2129,"date":"2017-03-13T08:07:29","date_gmt":"2017-03-13T07:07:29","guid":{"rendered":"http:\/\/www.webotlet.hu\/?p=2129"},"modified":"2019-11-10T21:45:43","modified_gmt":"2019-11-10T20:45:43","slug":"c-programozas-2009-majus-emelt-informatika-erettsegi-programozasi-feladat-megoldasa","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=2129","title":{"rendered":"C++ programoz\u00e1s &#8211; 2009 m\u00e1jus emelt informatika \u00e9retts\u00e9gi &#8211; Lift"},"content":{"rendered":"<p>A feladat le\u00edr\u00e1s\u00e1t, melynek a megold\u00e1s\u00e1t k\u00f6zz\u00e9teszem, <a href=\"http:\/\/www.webotlet.hu\/wp-content\/uploads\/2019\/11\/e_info_09maj_lift.pdf\">innen<\/a> t\u00f6ltheted le. Az <a href=\"http:\/\/www.webotlet.hu\/wp-content\/uploads\/2017\/03\/webotlet_09maj_lift_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#include &lt;cstdlib&gt;\r\n#include &lt;ctime&gt;\r\n\r\nusing namespace std;\r\n\r\nclass igeny\r\n{\r\npublic:\r\n    int ora;\r\n    int perc;\r\n    int mperc;\r\n    int csapat;\r\n    int honnan;\r\n    int hova;\r\n\r\n    string toString()\r\n    {\r\n        stringstream ss;\r\n        ss &lt;&lt; &quot;Ora: &quot; &lt;&lt; ora &lt;&lt; &quot;, perc: &quot; &lt;&lt; perc &lt;&lt;\r\n           &quot;, mperc: &quot; &lt;&lt; mperc &lt;&lt; &quot;, csapat: &quot; &lt;&lt;\r\n           csapat &lt;&lt; &quot;, honnan: &quot; &lt;&lt; honnan &lt;&lt;\r\n           &quot;, hova: &quot; &lt;&lt; hova &lt;&lt; endl;\r\n        return ss.str();\r\n    }\r\n};\r\n\r\n\r\nint main()\r\n{\r\n\/\/ 1. feladat\r\n    ifstream input(&quot;igeny.txt&quot;);\r\n    int maxszint;\r\n    int csapatszam;\r\n    int meret;\r\n    input &gt;&gt; maxszint;\r\n    input &gt;&gt; csapatszam;\r\n    input &gt;&gt; meret;\r\n\r\n    igeny igenyek&#x5B;meret];\r\n\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        input &gt;&gt; igenyek&#x5B;i].ora &gt;&gt; igenyek&#x5B;i].perc &gt;&gt; igenyek&#x5B;i].mperc &gt;&gt;\r\n              igenyek&#x5B;i].csapat &gt;&gt; igenyek&#x5B;i].honnan &gt;&gt; igenyek&#x5B;i].hova;\r\n\r\n\/\/        cout &lt;&lt; igenyek&#x5B;i].toString();\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; &quot;Kerem a lift indulasi helyet! &quot;;\r\n    int start;\r\n    cin &gt;&gt; start;\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; &quot;A lift a &quot; &lt;&lt; igenyek&#x5B;meret-1].hova &lt;&lt;\r\n            &quot; szinten all az utolso igeny teljesitese &quot;\r\n            &quot;utan.&quot; &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 min = start;\r\n    int max = start;\r\n\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        if( igenyek&#x5B;i].honnan &lt; min )\r\n        {\r\n            min = igenyek&#x5B;i].honnan;\r\n        }\r\n        if( igenyek&#x5B;i].hova &lt; min )\r\n        {\r\n            min = igenyek&#x5B;i].hova;\r\n        }\r\n        if( igenyek&#x5B;i].honnan &gt; max )\r\n        {\r\n            max = igenyek&#x5B;i].honnan;\r\n        }\r\n        if( igenyek&#x5B;i].hova &gt; max )\r\n        {\r\n            max = igenyek&#x5B;i].hova;\r\n        }\r\n    }\r\n    cout &lt;&lt; &quot;A legalacsonyabb erintett emelet: &quot; &lt;&lt; min &lt;&lt;\r\n            endl &lt;&lt; &quot;A legmagasabb erintett emelet: &quot;&lt;&lt; max &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 utassal = 0;\r\n    int nelkul = 0;\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        if( igenyek&#x5B;i].honnan &lt; igenyek&#x5B;i].hova )\r\n        {\r\n            utassal++;\r\n        }\r\n    }\r\n    cout &lt;&lt; &quot;Utassal &quot; &lt;&lt; utassal &lt;&lt; &quot; alkalommal kellett &quot;\r\n            &quot;felfele indulni a liftnek&quot; &lt;&lt; endl;\r\n\r\n    for( int i = 1; i &lt; meret; i++ )\r\n    {\r\n        if( igenyek&#x5B;i].honnan &gt; igenyek&#x5B;i-1].hova )\r\n        {\r\n            nelkul++;\r\n        }\r\n    }\r\n\/\/ ha a kezdo pozicio alacsonyabban van, mint az elso igeny\r\n\/\/ kezdo emelete, akkor is utas nelkul haladt\r\n    if( start &lt; igenyek&#x5B;0].honnan )\r\n    {\r\n        nelkul++;\r\n    }\r\n    cout &lt;&lt; &quot;Utas nelkul &quot; &lt;&lt; nelkul &lt;&lt; &quot; alkalommal &quot;\r\n            &quot;kellett felfele indulni a liftnek&quot; &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    int csapatdb&#x5B;csapatszam+1] = {0};\r\n\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        csapatdb&#x5B;igenyek&#x5B;i].csapat]++;\r\n    }\r\n\r\n    for( int i = 1; i &lt; csapatszam+1; i++ )\r\n    {\r\n        if( csapatdb&#x5B;i] == 0 )\r\n        {\r\n            cout &lt;&lt; i &lt;&lt; &quot; &quot;;\r\n        }\r\n    }\r\n    cout &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\r\n    srand(time(0));\r\n\/\/ &#x5B;1;csapatszam] intervallum\r\n    int vetcsapat = rand() % csapatszam + 1;\r\n\r\n\/\/    cout &lt;&lt; &quot;vetcsapat: &quot; &lt;&lt; vetcsapat &lt;&lt; endl;\r\n\r\n    int vetdb = 0;\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        if( igenyek&#x5B;i].csapat == vetcsapat )\r\n        {\r\n            vetdb++;\r\n        }\r\n    }\r\n\r\n    igeny vetigenyek&#x5B;vetdb];\r\n\r\n    int hely = 0;\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        if( igenyek&#x5B;i].csapat == vetcsapat )\r\n        {\r\n            vetigenyek&#x5B;hely] = igenyek&#x5B;i];\r\n            cout &lt;&lt; vetigenyek&#x5B;hely].toString();\r\n            hely++;\r\n        }\r\n    }\r\n\r\n    bool vetett = false;\r\n    for( int i = 1; i &lt; vetdb; i++ )\r\n    {\r\n        if( vetigenyek&#x5B;i].honnan != vetigenyek&#x5B;i-1].hova )\r\n        {\r\n            vetett = true;\r\n            cout &lt;&lt; vetigenyek&#x5B;i-1].hova &lt;&lt; &quot; - &quot; &lt;&lt;\r\n                 vetigenyek&#x5B;i].honnan &lt;&lt; endl;\r\n        }\r\n    }\r\n\r\n    if( !vetett )\r\n    {\r\n        cout &lt;&lt; &quot;Nem bizonyithato szabalytalansag.&quot; &lt;&lt; endl;\r\n    }\r\n\r\n\/\/ 8. feladat\r\n    cout &lt;&lt; endl &lt;&lt; &quot;8. feladat&quot; &lt;&lt; endl;\r\n    stringstream ss;\r\n    int fkod;\r\n    string s;\r\n    for( int i = 0; i &lt; vetdb; i++ )\r\n    {\r\n        ss &lt;&lt; &quot;Befejezes ideje: &quot; &lt;&lt; vetigenyek&#x5B;i].ora &lt;&lt;\r\n              &quot;:&quot; &lt;&lt; vetigenyek&#x5B;i].perc &lt;&lt; &quot;:&quot; &lt;&lt;\r\n              vetigenyek&#x5B;i].mperc &lt;&lt; endl;\r\n\r\n        ss &lt;&lt; &quot;Sikeresseg: &quot;;\r\n        cout &lt;&lt; &quot;Sikeres volt a feladat (i\/n): &quot;;\r\n        cin &gt;&gt; s;\r\n        if( s == &quot;i&quot; )\r\n        {\r\n            ss &lt;&lt; &quot;befejezett&quot;;\r\n        }\r\n        else\r\n        {\r\n            ss &lt;&lt; &quot;befejezetlen&quot;;\r\n        }\r\n        ss &lt;&lt; endl &lt;&lt; &quot;-----&quot; &lt;&lt; endl;\r\n        ss &lt;&lt; &quot;Indulasi emelet: &quot; &lt;&lt; vetigenyek&#x5B;i].honnan &lt;&lt; endl;\r\n        ss &lt;&lt; &quot;Celemelet: &quot; &lt;&lt; vetigenyek&#x5B;i].hova &lt;&lt; endl;\r\n        ss &lt;&lt; &quot;Feladatkod: &quot;;\r\n        cout &lt;&lt; &quot;Kerem a feladatkodot: &quot;;\r\n        cin &gt;&gt; fkod;\r\n        ss &lt;&lt; fkod &lt;&lt; endl;\r\n    }\r\n\r\n\/\/    cout &lt;&lt; ss.str();\r\n\r\n    ofstream output(&quot;blokkol.txt&quot;);\r\n    output &lt;&lt; ss.str();\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=2129\">Tov\u00e1bb <span class=\"screen-reader-text\">  C++ programoz\u00e1s &#8211; 2009 m\u00e1jus emelt informatika \u00e9retts\u00e9gi &#8211; Lift<\/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-2129","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\/2129","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=2129"}],"version-history":[{"count":5,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2129\/revisions"}],"predecessor-version":[{"id":2860,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2129\/revisions\/2860"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2129"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2129"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2129"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}