{"id":2056,"date":"2017-01-24T14:14:18","date_gmt":"2017-01-24T13:14:18","guid":{"rendered":"http:\/\/www.webotlet.hu\/?p=2056"},"modified":"2019-11-10T21:53:07","modified_gmt":"2019-11-10T20:53:07","slug":"c-programozas-2014-oktoberi-emelt-informatika-erettsegi-programozasi-feladat-megoldasa","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=2056","title":{"rendered":"C++ programoz\u00e1s &#8211; 2006 m\u00e1jus emelt informatika \u00e9retts\u00e9gi &#8211; Feh\u00e9rje"},"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_06maj_feherje.pdf\">innen<\/a> t\u00f6ltheted le. Az <a href=\"http:\/\/www.webotlet.hu\/wp-content\/uploads\/2017\/01\/webotlet_06maj_feherje_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\nstruct feherje\r\n{\r\n    string rovid;\r\n    string betu;\r\n    int c;\r\n    int h;\r\n    int o;\r\n    int n;\r\n    int s;\r\n    int mtomeg;\r\n\r\n    string toString()\r\n    {\r\n        stringstream ss;\r\n        ss &lt;&lt; rovid &lt;&lt; &quot; &quot; &lt;&lt; betu &lt;&lt; &quot; &quot; &lt;&lt; c &lt;&lt; &quot; &quot; &lt;&lt; h &lt;&lt;\r\n           &quot; &quot; &lt;&lt; o &lt;&lt; &quot; &quot; &lt;&lt; n &lt;&lt; &quot; &quot; &lt;&lt; s &lt;&lt; &quot; &quot; &lt;&lt; mtomeg &lt;&lt; endl;\r\n        return ss.str();\r\n    }\r\n};\r\n\r\nfeherje keres( string betu, feherje feherjek&#x5B;], int meret )\r\n{\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        if( feherjek&#x5B;i].betu == betu )\r\n        {\r\n            return feherjek&#x5B;i];\r\n        }\r\n    }\r\n    return feherjek&#x5B;0];\r\n}\r\n\r\nint main()\r\n{\r\n\/\/ 1. feladat\r\n    int meret = 0;\r\n    ifstream input(&quot;aminosav.txt&quot;);\r\n    string sor;\r\n\r\n    while( getline(input,sor) )\r\n    {\r\n        meret++;\r\n    }\r\n    meret \/= 7;\r\n    feherje feherjek&#x5B;meret];\r\n    input.clear();\r\n    input.seekg(0);\r\n\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        input &gt;&gt; feherjek&#x5B;i].rovid;\r\n        input &gt;&gt; feherjek&#x5B;i].betu;\r\n        input &gt;&gt; feherjek&#x5B;i].c;\r\n        input &gt;&gt; feherjek&#x5B;i].h;\r\n        input &gt;&gt; feherjek&#x5B;i].o;\r\n        input &gt;&gt; feherjek&#x5B;i].n;\r\n        input &gt;&gt; feherjek&#x5B;i].s;\r\n\/\/ 2. feladat\r\n        feherjek&#x5B;i].mtomeg = feherjek&#x5B;i].c * 12\r\n                           + feherjek&#x5B;i].h\r\n                           + feherjek&#x5B;i].o * 16\r\n                           + feherjek&#x5B;i].n * 14\r\n                           + feherjek&#x5B;i].s * 32;\r\n    }\r\n    input.close();\r\n\r\n\/*\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        cout &lt;&lt; feherjek&#x5B;i].toString();\r\n    }\r\n*\/\r\n\/\/ 3. feladat\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            if( feherjek&#x5B;i].mtomeg &gt; feherjek&#x5B;j].mtomeg )\r\n            {\r\n                feherje csere = feherjek&#x5B;i];\r\n                feherjek&#x5B;i] = feherjek&#x5B;j];\r\n                feherjek&#x5B;j] = csere;\r\n            }\r\n        }\r\n    }\r\n\r\n    ofstream output(&quot;eredmeny.txt&quot;);\r\n    output &lt;&lt; &quot;3. feladat&quot; &lt;&lt; endl;\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        output &lt;&lt; feherjek&#x5B;i].rovid &lt;&lt; &quot; &quot; &lt;&lt; feherjek&#x5B;i].mtomeg &lt;&lt; endl;\r\n    }\r\n\r\n\/\/ 4. feladat\r\n    int mdarab&#x5B;5] = {0};\r\n    ifstream input2(&quot;bsa.txt&quot;);\r\n    string s;\r\n    int kapcs = -1;\r\n    stringstream bsalanc;\r\n    while( getline(input2, s) )\r\n    {\r\n        bsalanc &lt;&lt; s;\r\n        feherje f = keres(s,feherjek, meret);\r\n        mdarab&#x5B;0] += f.c;\r\n        mdarab&#x5B;1] += f.h;\r\n        mdarab&#x5B;2] += f.o;\r\n        mdarab&#x5B;3] += f.n;\r\n        mdarab&#x5B;4] += f.s;\r\n        kapcs++;\r\n    }\r\n\r\n    mdarab&#x5B;1] -= kapcs*2;\r\n    mdarab&#x5B;2] -= kapcs;\r\n\r\n    output &lt;&lt; endl &lt;&lt; &quot;4. feladat&quot; &lt;&lt; endl;\r\n    output &lt;&lt; &quot;C &quot; &lt;&lt; mdarab&#x5B;0] &lt;&lt; &quot; H &quot; &lt;&lt; mdarab&#x5B;1] &lt;&lt; &quot; O &quot; &lt;&lt; mdarab&#x5B;2] &lt;&lt;\r\n         &quot; N &quot; &lt;&lt; mdarab&#x5B;3] &lt;&lt; &quot; S &quot; &lt;&lt; mdarab&#x5B;4];\r\n\r\n    cout &lt;&lt; endl &lt;&lt; &quot;4. feladat&quot; &lt;&lt; endl;\r\n    cout &lt;&lt; &quot;C &quot; &lt;&lt; mdarab&#x5B;0] &lt;&lt; &quot; H &quot; &lt;&lt; mdarab&#x5B;1] &lt;&lt; &quot; O &quot; &lt;&lt; mdarab&#x5B;2] &lt;&lt;\r\n         &quot; N &quot; &lt;&lt; mdarab&#x5B;3] &lt;&lt; &quot; S &quot; &lt;&lt; mdarab&#x5B;4] &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 toresdb = 0;\r\n    string bsa = bsalanc.str();\r\n    int hossz = bsa.length();\r\n    for( int i = 0; i &lt; hossz; i++ )\r\n    {\r\n        if( bsa&#x5B;i] == 'Y' || bsa&#x5B;i] == 'W' || bsa&#x5B;i] == 'F' )\r\n        {\r\n            toresdb++;\r\n        }\r\n    }\r\n    toresdb++;\r\n    string lancok&#x5B;toresdb];\r\n\r\n    int hely = 0;\r\n    int elozo = 0;\r\n    for( int i = 0; i &lt; hossz; i++ )\r\n    {\r\n        if( bsa&#x5B;i] == 'Y' || bsa&#x5B;i] == 'W' || bsa&#x5B;i] == 'F' )\r\n        {\r\n            lancok&#x5B;hely] = bsa.substr(elozo,i-elozo+1);\r\n            elozo = i+1;\r\n            hely++;\r\n        }\r\n    }\r\n\r\n    int max = 0;\r\n    for( int i = 1; i &lt; toresdb; i++ )\r\n    {\r\n        if( lancok&#x5B;i].length() &gt; lancok&#x5B;max].length() )\r\n        {\r\n            max = i;\r\n        }\r\n    }\r\n    int kezdet = 0;\r\n    for( int i = 0; i &lt; max; i++ )\r\n    {\r\n        kezdet += lancok&#x5B;i].length();\r\n    }\r\n\r\n    cout &lt;&lt; &quot;hossza: &quot; &lt;&lt; lancok&#x5B;max].length() &lt;&lt; &quot; kezdet helye: &quot; &lt;&lt;\r\n         kezdet &lt;&lt; &quot; lanc vege: &quot; &lt;&lt; kezdet+lancok&#x5B;max].length() &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    string elso;\r\n    int elsohossz;\r\n    for( int i = 0; i &lt; hossz-1; i++ )\r\n    {\r\n        if( bsa&#x5B;i] == 'R' &amp;&amp; ( bsa&#x5B;i+1] == 'A' || bsa&#x5B;i+1] == 'V' ) )\r\n        {\r\n            elso = bsa.substr(0,i+1);\r\n            elsohossz = i+1;\r\n            break;\r\n        }\r\n    }\r\n\r\n    int dbc = 0;\r\n    for( int i = 0; i &lt; elsohossz; i++ )\r\n    {\r\n        if( elso&#x5B;i] == 'C' )\r\n        {\r\n            dbc++;\r\n        }\r\n    }\r\n    cout &lt;&lt; &quot;A Factor XI enzim altal hasitott elso darabban &quot; &lt;&lt; dbc &lt;&lt;\r\n         &quot; darab Cisztein talalhato.&quot; &lt;&lt; endl;\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=2056\">Tov\u00e1bb <span class=\"screen-reader-text\">  C++ programoz\u00e1s &#8211; 2006 m\u00e1jus emelt informatika \u00e9retts\u00e9gi &#8211; Feh\u00e9rje<\/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-2056","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\/2056","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=2056"}],"version-history":[{"count":9,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2056\/revisions"}],"predecessor-version":[{"id":2865,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2056\/revisions\/2865"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2056"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2056"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}