{"id":2414,"date":"2018-05-21T09:05:18","date_gmt":"2018-05-21T07:05:18","guid":{"rendered":"http:\/\/www.webotlet.hu\/?p=2414"},"modified":"2019-02-18T08:24:27","modified_gmt":"2019-02-18T07:24:27","slug":"java-programozas-2018-majusi-emelt-informatika-erettsegi-programozasi-feladatanak-megoldasa","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=2414","title":{"rendered":"Java programoz\u00e1s &#8211; 2018 m\u00e1jusi emelt informatika \u00e9retts\u00e9gi programoz\u00e1si feladat\u00e1nak megold\u00e1sa"},"content":{"rendered":"<p>A feladat le\u00edr\u00e1s\u00e1t, melynek a megold\u00e1s\u00e1t k\u00f6zz\u00e9teszem <a href=\"https:\/\/www.oktatas.hu\/bin\/content\/dload\/erettsegi\/feladatok_2018tavasz_emelt\/e_inf_18maj_fl.pdf\">innen<\/a> t\u00f6ltheted le. Ez az els\u0151 saj\u00e1t megold\u00e1som, nagyj\u00e1b\u00f3l nett\u00f3 40 perc alatt k\u00e9sz\u00fclt, nem garant\u00e1lom, hogy hibamentes. Arra mindenk\u00e9pp j\u00f3 lesz, hogy megn\u00e9zd, mihez hogyan kellett volna hozz\u00e1ny\u00falni. K\u00e9s\u0151bb m\u00e9g letiszt\u00e1zom, \u00e9s megcsin\u00e1lom list\u00e1val is. Ez most csak t\u00f6mb\u00f6kkel dolgozik.<\/p>\n<p>A megold\u00e1st let\u00f6ltheted <a href=\"http:\/\/www.webotlet.hu\/wp-content\/uploads\/2018\/05\/Tarsalgo.7z\">innen<\/a>.<\/p>\n<h4>Ember oszt\u00e1ly az adatt\u00e1rol\u00e1sra \u00e9s r\u00f6vid\u00edt\u00e9sre:<\/h4>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage tarsalgo;\r\n\r\npublic class Ember\r\n{\r\n  private int ora;\r\n  private int perc;\r\n  private int azon;\r\n  private String irany;\r\n  private boolean be;\r\n  \r\n  public Ember( String&#x5B;] tomb )\r\n  {\r\n    ora = Integer.parseInt(tomb&#x5B;0]);\r\n    perc = Integer.parseInt(tomb&#x5B;1]);\r\n    azon = Integer.parseInt(tomb&#x5B;2]);\r\n    irany = tomb&#x5B;3];\r\n    be = tomb&#x5B;3].equals(&quot;be&quot;);\r\n  }\r\n\r\n  public int getOra()\r\n  {\r\n    return ora;\r\n  }\r\n\r\n  public int getPerc()\r\n  {\r\n    return perc;\r\n  }\r\n\r\n  public int getAzon()\r\n  {\r\n    return azon;\r\n  }\r\n\r\n  public String getIrany()\r\n  {\r\n    return irany;\r\n  }\r\n\r\n  public boolean isBe()\r\n  {\r\n    return be;\r\n  }\r\n\r\n  @Override\r\n  public String toString()\r\n  {\r\n    return &quot;Ember{&quot; + &quot;ora=&quot; + ora + &quot;, perc=&quot; + perc +\r\n      &quot;, azon=&quot; + azon + &quot;, irany=&quot; + irany + &quot;, be=&quot; + be + '}';\r\n  }\r\n}\r\n\r\n<\/pre>\n<h4>A main()-t tartalmaz\u00f3 oszt\u00e1ly, mely a f\u00e1jlkezel\u00e9st \u00e9s a feladatokat tartalmazza:<\/h4>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage tarsalgo;\r\n\r\nimport java.io.IOException;\r\nimport java.io.RandomAccessFile;\r\nimport java.util.Scanner;\r\n\r\npublic class Tarsalgo\r\n{\r\n  public static void main(String&#x5B;] args)\r\n  {\r\n    \/\/ 1. feladat\r\n    Ember&#x5B;] emberek = null;\r\n    \r\n    try\r\n    {\r\n      RandomAccessFile raf = new RandomAccessFile(&quot;ajto.txt&quot;,&quot;r&quot;);\r\n      String sor;\r\n      int db = 0;\r\n      for( sor = raf.readLine(); sor != null; sor = raf.readLine() )\r\n      {\r\n        db++;\r\n      }\r\n      \r\n      emberek = new Ember&#x5B;db];\r\n      raf.seek(0);\r\n      db = 0;\r\n      for( sor = raf.readLine(); sor != null; sor = raf.readLine() )\r\n      {\r\n        emberek&#x5B;db] = new Ember(sor.split(&quot; &quot;));\r\n        db++;\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( Ember e : emberek )\r\n\/\/    {\r\n\/\/      System.out.println(e);\r\n\/\/    }\r\n\r\n    \/\/ 2. feladat\r\n    System.out.println(&quot;2. feladat&quot;);\r\n    System.out.println(&quot;Az elso belepo: &quot;+emberek&#x5B;0].getAzon());\r\n    \r\n    int hely = -1;\r\n    for( int i = emberek.length-1; i &gt;= 0; i-- )\r\n    {\r\n      if( !emberek&#x5B;i].isBe() )\r\n      {\r\n        hely = i;\r\n        break;\r\n      }\r\n    }\r\n    \r\n    if( hely != -1 )\r\n    {\r\n      System.out.println(&quot;Az utolso kilepo: &quot;+emberek&#x5B;hely].getAzon());\r\n    }\r\n    else\r\n    {\r\n      System.out.println(&quot;Senki nem ment ki a tarsalgobol.&quot;);\r\n    }\r\n    \r\n    \/\/ 3. feladat\r\n    int max = 0;\r\n    for( int i = 0; i &lt; emberek.length; i++ )\r\n    {\r\n      if( emberek&#x5B;i].getAzon() &gt; max )\r\n      {\r\n        max = emberek&#x5B;i].getAzon();\r\n      }\r\n    }\r\n\r\n    int&#x5B;] darabok = new int&#x5B;max+1];\r\n    \r\n    for( int i = 0; i &lt; emberek.length; i++ )\r\n    {\r\n      darabok&#x5B;emberek&#x5B;i].getAzon()]++;\r\n    }\r\n    \r\n    try\r\n    {\r\n      RandomAccessFile ki = new RandomAccessFile(&quot;athaladas.txt&quot;,&quot;rw&quot;);\r\n      for( int i = 1; i &lt; darabok.length; i++ )\r\n      {\r\n        if( darabok&#x5B;i] != 0 )\r\n        {\r\n          ki.writeBytes(i+&quot; &quot;+darabok&#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    \/\/ 4. feladat\r\n    System.out.println(&quot;4. feladat&quot;);\r\n    \r\n    int&#x5B;] bent = new int&#x5B;max+1];\r\n    \r\n    for( int i = 0; i &lt; emberek.length; i++ )\r\n    {\r\n      if( emberek&#x5B;i].isBe() )\r\n      {\r\n        bent&#x5B;emberek&#x5B;i].getAzon()]++;\r\n      }\r\n      else\r\n      {\r\n        bent&#x5B;emberek&#x5B;i].getAzon()]--;\r\n      }\r\n    }\r\n    System.out.print(&quot;A vegen a tarsalgoban voltak: &quot;);\r\n    for( int i = 1; i &lt; bent.length; i++ )\r\n    {\r\n      if( bent&#x5B;i] &gt; 0 )\r\n      {\r\n        System.out.print(i+&quot; &quot;);\r\n      }\r\n    }\r\n    System.out.println();\r\n\r\n    \/\/ 5. feladat\r\n    System.out.println(&quot;5. feladat&quot;);\r\n\r\n    int&#x5B;] bentvannak = new int&#x5B;emberek.length];\r\n    \r\n    int elozo = 0;\r\n    for( int i = 0; i &lt; emberek.length; i++ )\r\n    {\r\n      if( emberek&#x5B;i].isBe() )\r\n      {\r\n        bentvannak&#x5B;i] = elozo + 1;\r\n      }\r\n      else\r\n      {\r\n        bentvannak&#x5B;i] = elozo - 1;\r\n      }\r\n      elozo = bentvannak&#x5B;i];\r\n    }\r\n    \r\n    max = 0;\r\n    for( int i = 1; i &lt; bentvannak.length; i++ )\r\n    {\r\n      if( bentvannak&#x5B;i] &gt; bentvannak&#x5B;max] )\r\n      {\r\n        max = i;\r\n      }\r\n    }\r\n    \r\n    System.out.println(&quot;Peldaul: &quot;+emberek&#x5B;max].getOra()+&quot;:&quot;+\r\n        emberek&#x5B;max].getPerc()+&quot;-kor voltak a legtobben a tarsalgoban.&quot;);\r\n    \r\n    \/\/ 6. feladat\r\n    System.out.println(&quot;6. feladat&quot;);\r\n    System.out.print(&quot;Adja meg egy szemely azonositojat: &quot;);\r\n    Scanner sc = new Scanner(System.in);\r\n    int azon = Integer.parseInt(sc.nextLine());\r\n\r\n    \/\/ 7. feladat\r\n    System.out.println(&quot;7. feladat&quot;);\r\n    for( int i = 0; i &lt; emberek.length; i++ )\r\n    {\r\n      if( emberek&#x5B;i].getAzon() == azon )\r\n      {\r\n        if( emberek&#x5B;i].isBe() )\r\n        {\r\n          System.out.print(emberek&#x5B;i].getOra()+&quot;:&quot;+\r\n            emberek&#x5B;i].getPerc()+&quot;-&quot;);\r\n        }\r\n        else\r\n        {\r\n          System.out.println(emberek&#x5B;i].getOra()+&quot;:&quot;+\r\n            emberek&#x5B;i].getPerc());\r\n        }\r\n      }\r\n    }\r\n    System.out.println();\r\n    \r\n    \/\/ 8. feladat\r\n    System.out.println(&quot;8. feladat&quot;);\r\n    \r\n    int osszeg = 0;\r\n    int be = 0;\r\n    int ki = 0;\r\n    boolean bentvan = false;\r\n    for( int i = 0; i &lt; emberek.length; i++ )\r\n    {\r\n      if( emberek&#x5B;i].getAzon() == azon )\r\n      {\r\n        if( emberek&#x5B;i].isBe() )\r\n        {\r\n          be = emberek&#x5B;i].getOra()*60+emberek&#x5B;i].getPerc();\r\n          bentvan = true;\r\n        }\r\n        else\r\n        {\r\n          osszeg += (emberek&#x5B;i].getOra()*60+emberek&#x5B;i].getPerc()) - be;\r\n          bentvan = false;\r\n        }\r\n      }\r\n    }\r\n    \r\n    \/\/ ha a legvegen nem jott ki, akkor az utolso bemenetel\r\n    \/\/ es a 15:00 kozotti idot hozzaadjuk az ossz idejehez\r\n    if( bentvan )\r\n    {\r\n      osszeg += (15*60)-be;\r\n    }\r\n    \r\n    System.out.print(&quot;A(z) &quot;+azon+&quot;. szemely osszesen &quot;+osszeg+\r\n      &quot; percet volt bent&quot;);\r\n    \r\n    if( bentvan )\r\n    {\r\n      System.out.println(&quot;, a megfigyeles vegen a tarsalgoban volt.&quot;);\r\n    }\r\n    else\r\n    {\r\n      System.out.println(&quot;.&quot;);\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 az els\u0151 saj\u00e1t megold\u00e1som, nagyj\u00e1b\u00f3l nett\u00f3 40 perc alatt k\u00e9sz\u00fclt, nem garant\u00e1lom, hogy hibamentes. Arra mindenk\u00e9pp j\u00f3 lesz, hogy megn\u00e9zd, mihez hogyan kellett volna hozz\u00e1ny\u00falni. K\u00e9s\u0151bb m\u00e9g letiszt\u00e1zom, \u00e9s <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=2414\">Tov\u00e1bb <span class=\"screen-reader-text\">  Java programoz\u00e1s &#8211; 2018 m\u00e1jusi emelt informatika \u00e9retts\u00e9gi programoz\u00e1si feladat\u00e1nak megold\u00e1sa<\/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":[51,27,108,107,109,86,144,89,87,20,143,183,25,26,15],"class_list":["post-2414","post","type-post","status-publish","format-standard","hentry","category-java-emelt-erettsegi-feladatok","tag-alap-algoritmus","tag-alap-algoritmusok","tag-emelt","tag-emelt-erettsegi","tag-emelt-informatika-erettsegi","tag-java","tag-java_programozas","tag-maximumkereses","tag-megszamlalas","tag-objektum","tag-programozas","tag-programozas-feladat","tag-randomaccessfile","tag-szovegfajl","tag-tomb"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2414","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=2414"}],"version-history":[{"count":9,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2414\/revisions"}],"predecessor-version":[{"id":2451,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2414\/revisions\/2451"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2414"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2414"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}