{"id":3108,"date":"2020-04-29T11:09:05","date_gmt":"2020-04-29T09:09:05","guid":{"rendered":"https:\/\/www.webotlet.hu\/?p=3108"},"modified":"2020-04-29T11:11:31","modified_gmt":"2020-04-29T09:11:31","slug":"java-programozas-2017-majusi-idegen-nyelvu-emelt-informatika-erettsegi-furdo","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=3108","title":{"rendered":"Java programoz\u00e1s \u2013 2017 m\u00e1jusi idegen nyelv\u0171 emelt informatika \u00e9retts\u00e9gi \u2013 f\u00fcrd\u0151"},"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\/04\/e_infma_17maj_furdo.pdf\">innen<\/a> t\u00f6ltheted le. Ez a megold\u00e1s list\u00e1val dolgozik. Most id\u0151 hi\u00e1ny\u00e1ban nem szedtem sz\u00e9t k\u00e9t v\u00e1ltozatra a megold\u00e1som, bizonyos feladatr\u00e9szeket 2 m\u00f3don is megoldottam.<br \/>\nAdatt\u00e1rol\u00f3 oszt\u00e1ly:<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\/**\r\n *\r\n * @author https:\/\/webotlet.hu\r\n *\/\r\npackage webotlet_17majma_furdo;\r\n\r\npublic class Mozgas\r\n{\r\n    int azon;\r\n    int honnan;\r\n    int irany;\r\n    int ora;\r\n    int perc;\r\n    int mperc;\r\n    \r\n    String ido;\r\n    int masodpercek;\r\n    \r\n    public Mozgas(String&#x5B;] tomb) \r\n    {\r\n        azon = Integer.parseInt(tomb&#x5B;0]);\r\n        honnan = Integer.parseInt(tomb&#x5B;1]);\r\n        irany = Integer.parseInt(tomb&#x5B;2]);\r\n        ora = Integer.parseInt(tomb&#x5B;3]);\r\n        perc = Integer.parseInt(tomb&#x5B;4]);\r\n        mperc = Integer.parseInt(tomb&#x5B;5]);\r\n        \r\n        ido = String.format(&quot;%d:%d:%d&quot;, ora, perc, mperc);\r\n        masodpercek = ora * 3600 + perc * 60 + mperc;\r\n    }\r\n\r\n    @Override\r\n    public String toString() {\r\n        return &quot;Mozgas{&quot; + &quot;azon=&quot; + azon + &quot;, honnan=&quot; + honnan + &quot;, irany=&quot;\r\n                + irany + &quot;, ora=&quot; + ora + &quot;, perc=&quot; + perc + &quot;, mperc=&quot;\r\n                + mperc + &quot;, ido=&quot; + ido + &quot;, masodpercek=&quot; + masodpercek + '}';\r\n    }\r\n    \r\n    public boolean oltozobolKi()\r\n    {\r\n        return honnan == 0 &amp;&amp; irany == 1;\r\n    }\r\n\r\n    public boolean oltozobeBe()\r\n    {\r\n        return honnan == 0 &amp;&amp; irany == 0;\r\n    }\r\n\r\n    public boolean szaunabaBe()\r\n    {\r\n        return honnan == 2 &amp;&amp; irany == 0;\r\n    }\r\n\r\n    public boolean szaunabolKi()\r\n    {\r\n        return honnan == 2 &amp;&amp; irany == 1;\r\n    }\r\n}\r\n<\/pre>\n<p>A feladat megold\u00e1sa:<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\/**\r\n *\r\n * @author https:\/\/webotlet.hu\r\n *\/\r\npackage webotlet_17majma_furdo;\r\n\r\nimport java.io.IOException;\r\nimport java.io.RandomAccessFile;\r\nimport java.util.ArrayList;\r\nimport java.util.HashMap;\r\nimport java.util.HashSet;\r\n\r\npublic class Webotlet_17majma_furdo;\r\n{\r\n\r\n    public static void main(String&#x5B;] args)\r\n    {\r\n        ArrayList&lt;Mozgas&gt; mozgasok = new ArrayList&lt;&gt;();\r\n\r\n        try\r\n        {\r\n            RandomAccessFile raf = new RandomAccessFile(&quot;furdoadat.txt&quot;, &quot;r&quot;);\r\n            String sor;\r\n            for (sor = raf.readLine(); sor != null; sor = raf.readLine())\r\n            {\r\n                mozgasok.add(new Mozgas(sor.split(&quot; &quot;)));\r\n            }\r\n            raf.close();\r\n        }\r\n        catch (IOException e)\r\n        {\r\n            System.out.println(&quot;HIBA&quot;);\r\n        }\r\n\r\n\/\/        for (int i = 0; i &lt; mozgasok.size(); i++)\r\n\/\/        {\r\n\/\/            System.out.println(mozgasok.get(i).toString());\r\n\/\/        }\r\n        System.out.println(&quot;2. feladat&quot;);\r\n        System.out.format(&quot;Az elso vendeg %s-kor lepett ki az oltozobol.%n&quot;,\r\n                mozgasok.get(0).ido);\r\n\r\n        for (int i = mozgasok.size() - 1; i &gt;= 0; i--)\r\n        {\r\n            if (mozgasok.get(i).honnan == 0 &amp;&amp; mozgasok.get(i).irany == 1)\r\n            {\r\n                System.out.format(&quot;Az utolso vendeg %s-kor lepett ki az &quot;\r\n                        + &quot;oltozobol.%n&quot;, mozgasok.get(i).ido);\r\n                break;\r\n            }\r\n        }\r\n        \/\/ 2. megoldas\r\n        int utolso = -1;\r\n        for (int i = 0; i &lt; mozgasok.size(); i++)\r\n        {\r\n            if (mozgasok.get(i).honnan == 0 &amp;&amp; mozgasok.get(i).irany == 1)\r\n            {\r\n                utolso = i;\r\n            }\r\n        }\r\n        System.out.format(&quot;Az utolso vendeg %s-kor lepett ki az oltozobol.%n&quot;,\r\n                mozgasok.get(utolso).ido);\r\n\r\n        System.out.println(&quot;3. feladat&quot;);\r\n\/\/ 1. v\u00e1ltozat list\u00e1val\r\n        ArrayList&lt;Integer&gt; azonositok = new ArrayList&lt;&gt;();\r\n\r\n        for (int i = 0; i &lt; mozgasok.size(); i++)\r\n        {\r\n            if (!azonositok.contains(mozgasok.get(i).azon))\r\n            {\r\n                azonositok.add(mozgasok.get(i).azon);\r\n            }\r\n        }\r\n\r\n        int&#x5B;] azonositokDb = new int&#x5B;azonositok.size()];\r\n\r\n        for (int i = 0; i &lt; mozgasok.size(); i++)\r\n        {\r\n            azonositokDb&#x5B;azonositok.indexOf(mozgasok.get(i).azon)]++;\r\n        }\r\n\r\n        int db4 = 0;\r\n        for (int i = 0; i &lt; azonositokDb.length; i++)\r\n        {\r\n            if (azonositokDb&#x5B;i] == 4)\r\n            {\r\n                db4++;\r\n            }\r\n        }\r\n        System.out.format(&quot;A furdoben %d vendeg jart csak egy reszlegben%n&quot;, db4);\r\n\r\n\/\/ 2. v\u00e1ltozat HashMap-pel\r\n        System.out.println(&quot;-----&quot;);\r\n        System.out.println(&quot;2. valtozat&quot;);\r\n        HashMap&lt;Integer, Integer&gt; eredmenyekDb = new HashMap&lt;&gt;();\r\n\r\n        for (int i = 0; i &lt; mozgasok.size(); i++)\r\n        {\r\n            if (eredmenyekDb.containsKey(mozgasok.get(i).azon))\r\n            {\r\n                eredmenyekDb.put(mozgasok.get(i).azon,\r\n                        eredmenyekDb.get(mozgasok.get(i).azon) + 1);\r\n            } else\r\n            {\r\n                eredmenyekDb.put(mozgasok.get(i).azon, 1);\r\n            }\r\n        }\r\n\r\n        int vendeg4 = 0;\r\n        for (Integer key : eredmenyekDb.keySet())\r\n        {\r\n            if (eredmenyekDb.get(key) == 4)\r\n            {\r\n                vendeg4++;\r\n            }\r\n        }\r\n        System.out.format(&quot;A furdoben %d vendeg jart csak egy reszlegben%n&quot;, vendeg4);\r\n\r\n        System.out.println(&quot;4. feladat&quot;);\r\n\r\n        int maxHossz = 0;\r\n        int maxVendeg = -1;\r\n        for (int i = 0; i &lt; mozgasok.size() - 1; i++)\r\n        {\r\n            for (int j = i + 1; j &lt; mozgasok.size(); j++)\r\n            {\r\n                if (mozgasok.get(i).oltozobolKi()\r\n                        &amp;&amp; mozgasok.get(j).oltozobeBe())\r\n                {\r\n                    int hossz = mozgasok.get(j).masodpercek - mozgasok.get(i).masodpercek;\r\n                    if (hossz &gt; maxHossz)\r\n                    {\r\n                        maxHossz = hossz;\r\n                        maxVendeg = mozgasok.get(i).azon;\r\n                    }\r\n                    break;\r\n                }\r\n            }\r\n        }\r\n\r\n        System.out.println(&quot;A legtobb idot eltolto vendeg:&quot;);\r\n        System.out.format(&quot;%d. vendeg %s%n&quot;, maxVendeg, idoformatum(maxHossz));\r\n\r\n        int erkezes = 0;\r\n\r\n        for (int i = 0; i &lt; mozgasok.size() - 1; i++)\r\n        {\r\n            if (mozgasok.get(i).oltozobolKi())\r\n            {\r\n                \/\/ kisz\u00e1molom az i. \u00e9s erkezes. id\u0151k\u00fcl\u00f6nbs\u00e9g\r\n                \/\/ \u00f6sszehasonl\u00edtom a max-szal\r\n\r\n                erkezes = i + 1;\r\n            }\r\n        }\r\n        System.out.println(&quot;5. feladat&quot;);\r\n        int db6 = 0;\r\n        int db9 = 0;\r\n        int db16 = 0;\r\n\r\n        for (int i = 0; i &lt; mozgasok.size(); i++)\r\n        {\r\n            if (mozgasok.get(i).oltozobolKi())\r\n            {\r\n                if (mozgasok.get(i).ora &lt; 9)\r\n                {\r\n                    db6++;\r\n                }\r\n                else if (mozgasok.get(i).ora &lt; 16)\r\n                {\r\n                    db9++;\r\n                }\r\n                else\r\n                {\r\n                    db16++;\r\n                }\r\n            }\r\n        }\r\n        \r\n        System.out.println(&quot;6-9 ora kozott &quot; + db6 + &quot; vendeg&quot;);\r\n        System.out.println(&quot;9-16 ora kozott &quot; + db9 + &quot; vendeg&quot;);\r\n        System.out.println(&quot;16-20 ora kozott &quot; + db16 + &quot; vendeg&quot;);\r\n\r\n        System.out.println(&quot;6. feladat&quot;);\r\n        \/\/ 1. v\u00e1ltozat, t\u00f6bbsz\u00f6r\u00f6s megsz\u00e1ml\u00e1l\u00e1s list\u00e1val\r\n        int&#x5B;] szaunaIdok = new int&#x5B;azonositok.size()];\r\n\r\n        for (int i = 0; i &lt; mozgasok.size() - 1; i++)\r\n        {\r\n            for (int j = i + 1; j &lt; mozgasok.size(); j++)\r\n            {\r\n                if (mozgasok.get(i).szaunabaBe()\r\n                        &amp;&amp; mozgasok.get(j).szaunabolKi())\r\n                {\r\n                    int hossz = mozgasok.get(j).masodpercek - mozgasok.get(i).masodpercek;\r\n                    szaunaIdok&#x5B;azonositok.indexOf(mozgasok.get(i).azon)] += hossz;\r\n                    break;\r\n                }\r\n            }\r\n        }\r\n\r\n        try\r\n        {\r\n            RandomAccessFile ki = new RandomAccessFile(&quot;szauna.txt&quot;, &quot;rw&quot;);\r\n            ki.setLength(0);\r\n            for (int i = 0; i &lt; azonositok.size(); i++)\r\n            {\r\n                if (szaunaIdok&#x5B;i] &gt; 0)\r\n                {\r\n                    ki.writeBytes(azonositok.get(i) + &quot; &quot; + szaunaIdok&#x5B;i] + &quot;\\n&quot;);\r\n                }\r\n            }\r\n            ki.close();\r\n        }\r\n        catch (IOException e)\r\n        {\r\n            System.out.println(&quot;HIBA&quot;);\r\n        }\r\n\r\n        System.out.println(&quot;7. feladat&quot;);\r\n        \/\/ 1. v\u00e1ltozat list\u00e1val\r\n        ArrayList&lt;Integer&gt; uszoda = new ArrayList&lt;&gt;();\r\n        ArrayList&lt;Integer&gt; szauna = new ArrayList&lt;&gt;();\r\n        ArrayList&lt;Integer&gt; gyogyviz = new ArrayList&lt;&gt;();\r\n        ArrayList&lt;Integer&gt; strand = new ArrayList&lt;&gt;();\r\n\r\n        for (int i = 0; i &lt; mozgasok.size(); i++)\r\n        {\r\n            if (mozgasok.get(i).honnan == 1 &amp;&amp; mozgasok.get(i).irany == 0)\r\n            {\r\n                if (!uszoda.contains(mozgasok.get(i).azon))\r\n                {\r\n                    uszoda.add(mozgasok.get(i).azon);\r\n                }\r\n            }\r\n            else if (mozgasok.get(i).honnan == 2 &amp;&amp; mozgasok.get(i).irany == 0)\r\n            {\r\n                if (!szauna.contains(mozgasok.get(i).azon))\r\n                {\r\n                    szauna.add(mozgasok.get(i).azon);\r\n                }\r\n            }\r\n            else if (mozgasok.get(i).honnan == 3 &amp;&amp; mozgasok.get(i).irany == 0)\r\n            {\r\n                if (!gyogyviz.contains(mozgasok.get(i).azon))\r\n                {\r\n                    gyogyviz.add(mozgasok.get(i).azon);\r\n                }\r\n            }\r\n            else if (mozgasok.get(i).honnan == 4 &amp;&amp; mozgasok.get(i).irany == 0)\r\n            {\r\n                if (!strand.contains(mozgasok.get(i).azon))\r\n                {\r\n                    strand.add(mozgasok.get(i).azon);\r\n                }\r\n            }\r\n        }\r\n        \r\n        System.out.println(&quot;Uszoda: &quot; + uszoda.size());\r\n        System.out.println(&quot;Szaunak: &quot; + szauna.size());\r\n        System.out.println(&quot;Gyogyvizes medencek: &quot; + gyogyviz.size());\r\n        System.out.println(&quot;Strand: &quot; + strand.size());\r\n\r\n        \/\/ 2. v\u00e1ltozat HashSet-tel\r\n        System.out.println(&quot;-----&quot;);\r\n        System.out.println(&quot;2. valtozat&quot;);\r\n        HashSet&lt;Integer&gt; usz = new HashSet&lt;&gt;();\r\n        HashSet&lt;Integer&gt; sza = new HashSet&lt;&gt;();\r\n        HashSet&lt;Integer&gt; gyo = new HashSet&lt;&gt;();\r\n        HashSet&lt;Integer&gt; str = new HashSet&lt;&gt;();\r\n        for (int i = 0; i &lt; mozgasok.size(); i++)\r\n        {\r\n            if (mozgasok.get(i).honnan == 1 &amp;&amp; mozgasok.get(i).irany == 0)\r\n            {\r\n                usz.add(mozgasok.get(i).azon);\r\n            }\r\n            else if (mozgasok.get(i).honnan == 2 &amp;&amp; mozgasok.get(i).irany == 0)\r\n            {\r\n                sza.add(mozgasok.get(i).azon);\r\n            }\r\n            else if (mozgasok.get(i).honnan == 3 &amp;&amp; mozgasok.get(i).irany == 0)\r\n            {\r\n                gyo.add(mozgasok.get(i).azon);\r\n            }\r\n            else if (mozgasok.get(i).honnan == 4 &amp;&amp; mozgasok.get(i).irany == 0)\r\n            {\r\n                str.add(mozgasok.get(i).azon);\r\n            }\r\n        }\r\n        \r\n        System.out.println(&quot;Uszoda: &quot; + usz.size());\r\n        System.out.println(&quot;Szaunak: &quot; + sza.size());\r\n        System.out.println(&quot;Gyogyvizes medencek: &quot; + gyo.size());\r\n        System.out.println(&quot;Strand: &quot; + str.size());\r\n    }\r\n\r\n    public static String idoformatum(int mp)\r\n    {\r\n        int ora;\r\n        int perc;\r\n        ora = mp \/ 3600;\r\n        mp = mp % 3600;\r\n        perc = mp \/ 60;\r\n        mp = mp % 60;\r\n        return ora + &quot;:&quot; + perc + &quot;:&quot; + mp;\r\n    }\r\n\r\n}\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. Ez a megold\u00e1s list\u00e1val dolgozik. Most id\u0151 hi\u00e1ny\u00e1ban nem szedtem sz\u00e9t k\u00e9t v\u00e1ltozatra a megold\u00e1som, bizonyos feladatr\u00e9szeket 2 m\u00f3don is megoldottam. Adatt\u00e1rol\u00f3 oszt\u00e1ly: \/** * * @author https:\/\/webotlet.hu *\/ package <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=3108\">Tov\u00e1bb <span class=\"screen-reader-text\">  Java programoz\u00e1s \u2013 2017 m\u00e1jusi idegen nyelv\u0171 emelt informatika \u00e9retts\u00e9gi \u2013 f\u00fcrd\u0151<\/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":[106],"tags":[],"class_list":["post-3108","post","type-post","status-publish","format-standard","hentry","category-java-emelt-erettsegi-feladatok"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/3108","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=3108"}],"version-history":[{"count":3,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/3108\/revisions"}],"predecessor-version":[{"id":3112,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/3108\/revisions\/3112"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}