{"id":2982,"date":"2019-12-18T11:11:54","date_gmt":"2019-12-18T10:11:54","guid":{"rendered":"https:\/\/www.webotlet.hu\/?p=2982"},"modified":"2019-12-18T11:15:24","modified_gmt":"2019-12-18T10:15:24","slug":"java-programozas-2018-oktoberi-emelt-informatika-erettsegi-kerites-1-verzio","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=2982","title":{"rendered":"Java programoz\u00e1s \u2013 2018 okt\u00f3beri emelt informatika \u00e9retts\u00e9gi \u2013 ker\u00edt\u00e9s (1. verzi\u00f3)"},"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\/2019\/12\/e_inf_18okt_kerites.pdf\">innen<\/a> t\u00f6ltheted le. Ez a megold\u00e1s t\u00f6mbbel dolgozik. Nem a legszebb megold\u00e1som, de az alap Java ismeretekkel, ameddig 1 tan\u00e9v alatt eljutunk, megoldhat\u00f3 a feladat. A t\u00f6bbi megold\u00e1s m\u00e1r t\u00f6bb helyen is egyszer\u0171s\u00edteni fog.<\/p>\n<p>Adatt\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_18okt_kerites;\r\n\r\npublic class Telek\r\n{\r\n  private int oldal;\r\n  private int szel;\r\n  private char szin;\r\n  \r\n  private int szam;\r\n  private boolean festett;\r\n  \r\n  public Telek(String&#x5B;] tomb)\r\n  {\r\n    oldal = Integer.parseInt(tomb&#x5B;0]);\r\n    szel = Integer.parseInt(tomb&#x5B;1]);\r\n    szin = tomb&#x5B;2].charAt(0);\r\n  }\r\n\r\n  public int getOldal()\r\n  {\r\n    return oldal;\r\n  }\r\n\r\n  public int getSzel()\r\n  {\r\n    return szel;\r\n  }\r\n\r\n  public char getSzin()\r\n  {\r\n    return szin;\r\n  }\r\n\r\n  public int getSzam()\r\n  {\r\n    return szam;\r\n  }\r\n\r\n  public void setSzam(int szam)\r\n  {\r\n    this.szam = szam;\r\n  }\r\n\r\n  @Override\r\n  public String toString()\r\n  {\r\n    return &quot;Telek{&quot; + &quot;oldal=&quot; + oldal + &quot;, szel=&quot;\r\n      + szel + &quot;, szin=&quot; + szin + &quot;, szam=&quot; + szam + '}';\r\n  }\r\n}\r\n<\/pre>\n<p>A feladat megold\u00e1sai:<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\/**\r\n *\r\n * @author https:\/\/webotlet.hu\r\n *\/\r\npackage webotlet_18okt_kerites;\r\n\r\nimport java.io.IOException;\r\nimport java.io.RandomAccessFile;\r\nimport java.util.Scanner;\r\n\r\npublic class Webotlet_18okt_kerites\r\n{\r\n\r\n  public static void main(String&#x5B;] args)\r\n  {\r\n    Telek&#x5B;] telkek = null;\r\n    \r\n    try\r\n    {\r\n      RandomAccessFile raf = new RandomAccessFile(&quot;kerites.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      telkek = new Telek&#x5B;db];\r\n      raf.seek(0);\r\n      int hely = 0;\r\n      for( sor = raf.readLine(); sor != null; sor = raf.readLine() )\r\n      {\r\n        telkek&#x5B;hely] = new Telek(sor.split(&quot; &quot;));\r\n        hely++;\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    System.out.println(&quot;2. feladat&quot;);\r\n    System.out.println(&quot;Az eladott telkek szama: &quot; + telkek.length);\r\n    System.out.println();\r\n    \r\n    System.out.println(&quot;3. feladat&quot;);\r\n    \/\/ hazszamok kiosztasa\r\n    int paratlanSzam = 1;\r\n    int parosSzam = 2;\r\n    for( int i = 0; i &lt; telkek.length; i++ )\r\n    {\r\n      if( telkek&#x5B;i].getOldal() == 0 )\r\n      {\r\n        telkek&#x5B;i].setSzam(parosSzam);\r\n        parosSzam += 2;\r\n      }\r\n      else\r\n      {\r\n        telkek&#x5B;i].setSzam(paratlanSzam);\r\n        paratlanSzam += 2;\r\n      }\r\n    }\r\n    \r\n\/\/    for( int i = 0; i &lt; telkek.length; i++ )\r\n\/\/    {\r\n\/\/      System.out.println(telkek&#x5B;i].toString());\r\n\/\/    }\r\n    \r\n    if( telkek&#x5B;telkek.length - 1].getOldal() == 0 )\r\n    {\r\n      System.out.println(&quot;A paros oldalon adtak el az utolso telket.&quot;);\r\n    }\r\n    else\r\n    {\r\n      System.out.println(&quot;A paratlan oldalon adtak el az utolso telket.&quot;);\r\n    }\r\n    \r\n    System.out.println(&quot;Az utolso telek hazszama: &quot; + telkek&#x5B;telkek.length - 1].getSzam());\r\n    System.out.println();\r\n    \r\n    System.out.println(&quot;4. feladat&quot;);\r\n    int paratlanDb = 0;\r\n    for( int i = 0; i &lt; telkek.length; i++ )\r\n    {\r\n      if( telkek&#x5B;i].getOldal() == 1 )\r\n      {\r\n        paratlanDb++;\r\n      }\r\n    }\r\n    \r\n    Telek&#x5B;] paratlanok = new Telek&#x5B;paratlanDb];\r\n    int hely = 0;\r\n    for( int i = 0; i &lt; telkek.length; i++ )\r\n    {\r\n      if( telkek&#x5B;i].getOldal() == 1 )\r\n      {\r\n        paratlanok&#x5B;hely] = telkek&#x5B;i];\r\n        hely++;\r\n      }\r\n    }\r\n    \r\n    for( int i = 0; i &lt; paratlanok.length - 1; i++ )\r\n    {\r\n      if( paratlanok&#x5B;i].getSzin() != ':' &amp;&amp; paratlanok&#x5B;i].getSzin() != '#'\r\n        &amp;&amp; paratlanok&#x5B;i].getSzin() == paratlanok&#x5B;i + 1].getSzin() )\r\n      {\r\n        System.out.println(&quot;A szomszedossal egyezik a kerites szine: &quot;\r\n          + paratlanok&#x5B;i].getSzam());\r\n        break;\r\n      }\r\n    }\r\n    System.out.println();\r\n    \r\n    System.out.println(&quot;5. feladat&quot;);\r\n    Telek&#x5B;] parosok = new Telek&#x5B;telkek.length - paratlanDb];\r\n    hely = 0;\r\n    for( int i = 0; i &lt; telkek.length; i++ )\r\n    {\r\n      if( telkek&#x5B;i].getOldal() == 0 )\r\n      {\r\n        parosok&#x5B;hely] = telkek&#x5B;i];\r\n        hely++;\r\n      }\r\n    }\r\n    \r\n    Scanner sc = new Scanner(System.in);\r\n    System.out.print(&quot;Adjon meg egy hazszamot! &quot;);\r\n    int szam = sc.nextInt();\r\n    int idx = -1;\r\n    char allapot;\r\n    String hasznalt = &quot;&quot;;\r\n    if( szam % 2 == 0 )\r\n    {\r\n      idx = szam \/ 2 - 1;\r\n      allapot = parosok&#x5B;idx].getSzin();\r\n      hasznalt += allapot;\r\n      if( idx &gt; 0 )\r\n      {\r\n        hasznalt += parosok&#x5B;idx - 1].getSzin();\r\n      }\r\n      if( idx &lt; parosok.length - 1 )\r\n      {\r\n        hasznalt += parosok&#x5B;idx + 1].getSzin();\r\n      }\r\n    }\r\n    else\r\n    {\r\n      idx = szam \/ 2;\r\n      allapot = paratlanok&#x5B;idx].getSzin();\r\n      hasznalt += allapot;\r\n      if( idx &gt; 0 )\r\n      {\r\n        hasznalt += paratlanok&#x5B;idx - 1].getSzin();\r\n      }\r\n      if( idx &lt; parosok.length - 1 )\r\n      {\r\n        hasznalt += paratlanok&#x5B;idx + 1].getSzin();\r\n      }\r\n    }\r\n    System.out.println(&quot;A kerites szine \/ allapota: &quot; + allapot);\r\n    String szinek = &quot;ABCDEFGH&quot;;\r\n    \r\n    for( int i = 0; i &lt; szinek.length(); i++ )\r\n    {\r\n      if( !hasznalt.contains(&quot;&quot;+szinek.charAt(i)))\r\n      {\r\n        System.out.println(&quot;Lehetseges festesi szin: &quot; + szinek.charAt(i));\r\n        break;\r\n      }\r\n    }\r\n    \r\n\/\/    for( int i = 0; i &lt; paratlanok.length; i++ )\r\n\/\/    {\r\n\/\/      System.out.println(paratlanok&#x5B;i].toString());\r\n\/\/    }\r\n    \r\n    \/\/ 6. feladat\r\n    try\r\n    {\r\n      RandomAccessFile ki = new RandomAccessFile(&quot;utcakep.txt&quot;, &quot;rw&quot;);\r\n      ki.setLength(0);\r\n\r\n      for( int i = 0; i &lt; paratlanok.length; i++ )\r\n      {\r\n        for( int j = 0; j &lt; paratlanok&#x5B;i].getSzel(); j++ )\r\n        {\r\n          ki.writeBytes(&quot;&quot;+paratlanok&#x5B;i].getSzin());\r\n        }\r\n      }\r\n      ki.writeBytes(&quot;\\n&quot;);\r\n\r\n      for( int i = 0; i &lt; paratlanok.length; i++ )\r\n      {\r\n        ki.writeBytes(&quot;&quot;+paratlanok&#x5B;i].getSzam());\r\n        int start = 1;\r\n        if( paratlanok&#x5B;i].getSzam() &gt; 9 )\r\n        {\r\n          start++;\r\n        }\r\n        if( paratlanok&#x5B;i].getSzam() &gt; 99 )\r\n        {\r\n          start++;\r\n        }\r\n        for( int j = start; j &lt; paratlanok&#x5B;i].getSzel(); j++ )\r\n        {\r\n          ki.writeBytes(&quot; &quot;);\r\n        }\r\n      }\r\n      ki.writeBytes(&quot;\\n&quot;);\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}\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 t\u00f6mbbel dolgozik. Nem a legszebb megold\u00e1som, de az alap Java ismeretekkel, ameddig 1 tan\u00e9v alatt eljutunk, megoldhat\u00f3 a feladat. A t\u00f6bbi megold\u00e1s m\u00e1r t\u00f6bb helyen is egyszer\u0171s\u00edteni <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=2982\">Tov\u00e1bb <span class=\"screen-reader-text\">  Java programoz\u00e1s \u2013 2018 okt\u00f3beri emelt informatika \u00e9retts\u00e9gi \u2013 ker\u00edt\u00e9s (1. verzi\u00f3)<\/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":[108,107,109,86,144,143,183,25,26,15],"class_list":["post-2982","post","type-post","status-publish","format-standard","hentry","category-java-emelt-erettsegi-feladatok","tag-emelt","tag-emelt-erettsegi","tag-emelt-informatika-erettsegi","tag-java","tag-java_programozas","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\/2982","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=2982"}],"version-history":[{"count":4,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2982\/revisions"}],"predecessor-version":[{"id":2988,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2982\/revisions\/2988"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2982"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2982"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}