{"id":2464,"date":"2019-03-13T14:15:27","date_gmt":"2019-03-13T13:15:27","guid":{"rendered":"http:\/\/www.webotlet.hu\/?p=2464"},"modified":"2019-09-25T14:39:55","modified_gmt":"2019-09-25T12:39:55","slug":"a-fajlkezeles-5-feladat-megoldasa-java-nyelven","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=2464","title":{"rendered":"A F\u00e1jlkezel\u00e9s 5. feladat megold\u00e1sa Java nyelven"},"content":{"rendered":"<p>A feladat aminek a megold\u00e1s\u00e1t itt k\u00f6zz\u00e9teszem, <a href=\"http:\/\/www.webotlet.hu\/?p=2360\">itt<\/a> tal\u00e1lhat\u00f3. A feladatot csak forr\u00e1sk\u00f3dk\u00e9nt teszem k\u00f6zz\u00e9, a project-nek itt nem l\u00e1tn\u00e1m \u00e9rtelm\u00e9t.<\/p>\n<p>Term\u00e9szetesen sz\u00e1mtalan m\u00e1s m\u00f3don is meg lehetne oldani a feladatot, \u00e9n a tanult eszk\u00f6z\u00f6k \u00e9s alap algoritmusok seg\u00edts\u00e9g\u00e9vel mutatom be a megold\u00e1sokat.<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage webotlet_fajlkezeles5;\r\n\r\nimport java.io.*;\r\n\r\npublic class Webotlet_Fajlkezeles5\r\n{\r\n  \r\n  public static void main( String&#x5B;] args )\r\n  {\r\n    RandomAccessFile raf;\r\n    \r\n    int&#x5B;] tomb1 = null;\r\n    int&#x5B;] tomb2 = null;\r\n\r\n\/\/ adatok beolvas\u00e1sa k\u00e9t t\u00f6mbbe    \r\n    try\r\n    {\r\n      String sor;\r\n      raf = new RandomAccessFile( &quot;szamok2oszlop.txt&quot;, &quot;r&quot; );\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      raf.seek( 0 );\r\n      tomb1 = new int&#x5B;db];\r\n      tomb2 = new int&#x5B;db];\r\n      \r\n      String&#x5B;] tmp = new String&#x5B;2];\r\n      int idx = 0;\r\n      for( sor = raf.readLine(); sor != null; sor = raf.readLine() )\r\n      {\r\n        tmp = sor.split( &quot;;&quot; );\r\n        tomb1&#x5B;idx] = Integer.parseInt( tmp&#x5B;0] );\r\n        tomb2&#x5B;idx] = Integer.parseInt( tmp&#x5B;1] );\r\n        idx++;\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\/\/    Melyik t\u00f6mbben nagyobb az elemek \u00f6sszege?\r\n    int osszeg1 = 0;\r\n    int osszeg2 = 0;\r\n    for( int i = 0; i &lt; tomb1.length; i++ )\r\n    {\r\n      osszeg1 += tomb1&#x5B;i];\r\n      osszeg2 += tomb2&#x5B;i];\r\n    }\r\n    \r\n    if( osszeg1 &gt; osszeg2 )\r\n    {\r\n      System.out.println( &quot;Az elso tomb elemeinek osszege nagyobb.&quot; );\r\n    }\r\n    else if( osszeg1 &lt; osszeg2 )\r\n    {\r\n      System.out.println( &quot;A masodik tomb elemeinek osszege nagyobb.&quot; );\r\n    }\r\n    else\r\n    {\r\n      System.out.println( &quot;A ket tomb elemeinek osszege egyenlo.&quot; );\r\n    }\r\n\r\n\/\/    Melyik t\u00f6mb tartalmaz t\u00f6bb negat\u00edv sz\u00e1mot?\r\n    int negDb1 = 0;\r\n    int negDb2 = 0;\r\n    for( int i = 0; i &lt; tomb1.length; i++ )\r\n    {\r\n      if( tomb1&#x5B;i] &lt; 0 )\r\n      {\r\n        negDb1++;\r\n      }\r\n      if( tomb2&#x5B;i] &lt; 0 )\r\n      {\r\n        negDb2++;\r\n      }\r\n    }\r\n    \r\n    if( negDb1 &gt; negDb2 )\r\n    {\r\n      System.out.println( &quot;Az elso tomb tartalmaz tobb &quot;+\r\n              &quot;negativ szamot.&quot; );\r\n    }\r\n    else if( negDb1 &lt; negDb2 )\r\n    {\r\n      System.out.println( &quot;A masodik tomb tartalmaz tobb &quot;+\r\n              &quot;negativ szamot.&quot; );\r\n    }\r\n    else\r\n    {\r\n      System.out.println( &quot;A ket tombben ugyanannyi negativ &quot;+\r\n              &quot;szam van.&quot; );\r\n    }\r\n\r\n\/\/ m\u00e1sik megold\u00e1s\r\n\/\/ egy sz\u00e1ml\u00e1l\u00f3t n\u00f6velek, ha az els\u0151 t\u00f6mbben negat\u00edv sz\u00e1m van\r\n\/\/ \u00e9s cs\u00f6kkentem, ha a m\u00e1sodikban\r\n\/\/ a v\u00e1ltoz\u00f3 ki\u00e9rt\u00e9kel\u00e9s\u00e9t l\u00e1sd a felt\u00e9telekn\u00e9l\r\n    int negDb = 0;\r\n    for( int i = 0; i &lt; tomb1.length; i++ )\r\n    {\r\n      if( tomb1&#x5B;i] &lt; 0 )\r\n      {\r\n        negDb++;\r\n      }\r\n      if( tomb2&#x5B;i] &lt; 0 )\r\n      {\r\n        negDb--;\r\n      }\r\n    }\r\n    \r\n    if( negDb &gt; 0 )\r\n    {\r\n      System.out.println( &quot;Az elso tomb tartalmaz tobb &quot;+\r\n              &quot;negativ szamot.&quot; );\r\n    }\r\n    else if( negDb &lt; 0 )\r\n    {\r\n      System.out.println( &quot;A masodik tomb tartalmaz tobb &quot;+\r\n              &quot;negativ szamot.&quot; );\r\n    }\r\n    else\r\n    {\r\n      System.out.println( &quot;A ket tombben ugyanannyi negativ &quot;+\r\n              &quot;szam van.&quot; );\r\n    }\r\n\r\n\/\/    Van-e olyan sz\u00e1m, ami mindk\u00e9t t\u00f6mbben ugyanott tal\u00e1lhat\u00f3?\r\n    boolean van = false;\r\n    for( int i = 0; i &lt; tomb1.length; i++ )\r\n    {\r\n      if( tomb1&#x5B;i] == tomb2&#x5B;i] )\r\n      {\r\n        van = true;\r\n        break;\r\n      }\r\n    }\r\n    \r\n    if( van )\r\n    {\r\n      System.out.println( &quot;Van ilyen szam.&quot; );\r\n    }\r\n    else\r\n    {\r\n      System.out.println( &quot;Nincs ilyen szam.&quot; );\r\n    }\r\n    \r\n\/\/ H\u00e1ny esetben nagyobb a k\u00e9t t\u00f6mb azonos helyen l\u00e9v\u0151 elemeib\u0151l\r\n\/\/ az els\u0151 t\u00f6mbben l\u00e9v\u0151?\r\n\r\n    int elsoNagyobb = 0;\r\n    for( int i = 0; i &lt; tomb1.length; i++ )\r\n    {\r\n      if( tomb1&#x5B;i] &gt; tomb2&#x5B;i] )\r\n      {\r\n        elsoNagyobb++;\r\n      }\r\n    }\r\n    \r\n    System.out.println( elsoNagyobb+&quot; esetben nagyobb az &quot;+\r\n            &quot;elso tomb azonos helyen levo eleme.&quot; );\r\n\r\n\/\/    Melyik t\u00f6mbben tal\u00e1lhat\u00f3 a legnagyobb sz\u00e1m?\r\n    int maxElem1 = tomb1&#x5B;0];\r\n    int maxElem2 = tomb2&#x5B;0];\r\n    \r\n    for( int i = 1; i &lt; tomb1.length; i++ )\r\n    {\r\n      if( tomb1&#x5B;i] &gt; maxElem1 )\r\n      {\r\n        maxElem1 = tomb1&#x5B;i];\r\n      }\r\n      if( tomb2&#x5B;i] &gt; maxElem2 )\r\n      {\r\n        maxElem2 = tomb2&#x5B;i];\r\n      }\r\n    }\r\n    \r\n    if( maxElem1 &gt; maxElem2 )\r\n    {\r\n      System.out.println( &quot;Az elso tombben talalhato a &quot;+\r\n              &quot;legnagyobb szam.&quot; );\r\n    }\r\n    else if( maxElem1 &lt; maxElem2 )\r\n    {\r\n      System.out.println( &quot;A masodik tombben talalhato a &quot;+\r\n              &quot;legnagyobb szam.&quot; );\r\n    }\r\n    else\r\n    {\r\n      System.out.println( &quot;A ket tombben a legnagyobb &quot;+\r\n              &quot;elem ugyanaz a szam.&quot; );\r\n    }\r\n    \r\n\/\/ Helyezd el egy harmadik t\u00f6mbben a k\u00e9t t\u00f6mb elemeit \u00fagy,\r\n\/\/ hogy a f\u00e1jlban azonos sorban l\u00e9v\u0151 elemek egym\u00e1s ut\u00e1n\r\n\/\/ legyenek! Els\u0151 t\u00f6mb 1. eleme, m\u00e1sodik t\u00f6mb 1. eleme,\r\n\/\/ els\u0151 t\u00f6mb 2. eleme, stb. \u00cdrd ki az \u00faj t\u00f6mb\u00f6t a k\u00e9perny\u0151re!\r\n    int&#x5B;] tomb3 = new int&#x5B;tomb1.length+tomb2.length];\r\n    \r\n    int idx = 0;\r\n    for( int i = 0; i &lt; tomb1.length; i++ )\r\n    {\r\n      tomb3&#x5B;idx] = tomb1&#x5B;i];\r\n      idx++;\r\n      tomb3&#x5B;idx] = tomb2&#x5B;i];\r\n      idx++;\r\n    }\r\n    \r\n    System.out.println(&quot;A ket tomb elemei osszefesulve:&quot;);\r\n    for (int i = 0; i &lt; tomb3.length; i++)\r\n    {\r\n      System.out.print(tomb3&#x5B;i]+&quot; &quot;);\r\n    }\r\n    System.out.println();\r\n    \r\n\/\/ Melyik t\u00f6mbben tal\u00e1lhat\u00f3 az a k\u00e9t szomsz\u00e9dos sz\u00e1m,\r\n\/\/ amelyeknek legnagyobb az \u00f6sszege?\r\n    int max1 = tomb1&#x5B;1] - tomb1&#x5B;0];\r\n    int max2 = tomb2&#x5B;1] - tomb2&#x5B;0];\r\n    for( int i = 0; i &lt; tomb1.length-1; i++ )\r\n    {\r\n      if( tomb1&#x5B;i+1] - tomb1&#x5B;i] &gt; max1 )\r\n      {\r\n        max1 = tomb1&#x5B;i+1] - tomb1&#x5B;i];\r\n      }\r\n      \r\n      if( tomb2&#x5B;i+1] - tomb2&#x5B;i] &gt; max1 )\r\n      {\r\n        max2 = tomb2&#x5B;i+1] - tomb2&#x5B;i];\r\n      }\r\n    }\r\n    \r\n    if( max1 &gt; max2 )\r\n    {\r\n      System.out.println( &quot;Az elso tombben talalhato a ket &quot;+\r\n              &quot;legnagyobb osszegu szomszedos szam.&quot; );\r\n    }\r\n    else if( max1 &lt; max2 )\r\n    {\r\n      System.out.println( &quot;A masodik tombben talalhato  a &quot;+\r\n              &quot;ket legnagyobb osszegu szomszedos szam.&quot; );\r\n    }\r\n    else\r\n    {\r\n      System.out.println( &quot;A ket tombben ugyanakkora a ket &quot;+\r\n              &quot;legnagyobb osszegu szomszedos szam.&quot; );\r\n    }\r\n    \r\n\/\/ Melyik az a legkisebb intervallum, amelyben a\r\n\/\/ k\u00e9t t\u00f6mb elemei benne vannak?\r\n\r\n\r\n    int minElem = tomb1&#x5B;0];\r\n    int maxElem = tomb1&#x5B;0];\r\n    for( int i = 0; i &lt; tomb1.length; i++ )\r\n    {\r\n      if( tomb1&#x5B;i] &gt; maxElem )\r\n      {\r\n        maxElem = tomb1&#x5B;i];\r\n      }\r\n\r\n      if( tomb2&#x5B;i] &gt; maxElem )\r\n      {\r\n        maxElem = tomb2&#x5B;i];\r\n      }\r\n\r\n      if( tomb1&#x5B;i] &lt; minElem )\r\n      {\r\n        minElem = tomb1&#x5B;i];\r\n      }\r\n\r\n      if( tomb2&#x5B;i] &lt; minElem )\r\n      {\r\n        minElem = tomb2&#x5B;i];\r\n      }\r\n    }\r\n    \r\n    System.out.println( &quot;A legkisebb intervallum, amiben &quot;+\r\n            &quot;elfernek a ket tomb elemei: &#x5B;&quot;+\r\n            minElem+&quot;;&quot;+maxElem+&quot;]&quot; );\r\n    \r\n\/\/ V\u00e1logasd ki egy negyedik t\u00f6mbbe a k\u00e9t t\u00f6mbben l\u00e9v\u0151\r\n\/\/ sz\u00e1mokat \u00fagy, hogy mindegyik sz\u00e1m csak egyszer szerepeljen!\r\n\r\n\/\/ olyan kivalogatas, ahol az uj vizsgalando elemet\r\n\/\/ mindig meg kell nezni, hogy benne van-e mar az eredmenytombben\r\n\/\/ mivel elore nem tudjuk, hogy hany elemet tudunk majd\r\n\/\/ kivalogatni, ezert abbol kell kiindulni, hogy az uj tomb\r\n\/\/ merete legrosszabb esetben minden elemet at kell rakni\r\n\/\/ (minden elem egyedi a ket tombre nezve) az eredmenytombben\r\n\/\/ mindig az idx4 jelenti a valodi elemek darabszamat,\r\n\/\/ nem a tomb4.length\r\n\r\n    int&#x5B;] tomb4 = new int&#x5B;tomb1.length+tomb2.length];\r\n    \r\n    int idx4 = 0;\r\n    tomb4&#x5B;idx4] = tomb1&#x5B;0];\r\n    idx4++;\r\n    for( int i = 0; i &lt; tomb1.length; i++ )\r\n    {\r\n      int j = 0;\r\n      while( j &lt; idx4 &amp;&amp; tomb4&#x5B;j] != tomb1&#x5B;i] )\r\n      {\r\n        j++;\r\n      }\r\n      \r\n      if( j == idx4 )\r\n      {\r\n        tomb4&#x5B;idx4] = tomb1&#x5B;i];\r\n        idx4++;\r\n      }\r\n\r\n      j = 0;\r\n      while( j &lt; idx4 &amp;&amp; tomb4&#x5B;j] != tomb2&#x5B;i] )\r\n      {\r\n        j++;\r\n      }\r\n      \r\n      if( j == idx4 )\r\n      {\r\n        tomb4&#x5B;idx4] = tomb2&#x5B;i];\r\n        idx4++;\r\n      }\r\n    }\r\n    \r\n    System.out.print( &quot;A 2 tomb kulonbozo elemei: &quot; );\r\n    for( int i = 0; i &lt; idx4; i++ )\r\n    {\r\n      System.out.print( tomb4&#x5B;i]+&quot; &quot;);\r\n    }\r\n    System.out.println(  );\r\n\r\n\/\/    Melyik t\u00f6mbben tal\u00e1lhat\u00f3 t\u00f6bb egyedi \u00e9rt\u00e9k?\r\n\/\/ kivalogatom a ket tombot kulon-kulon egyedi\r\n\/\/ ertekeket tartalmazo tombokbe amelyikbe tobbet tudtam\r\n\/\/ kivalogatni, abban van tobb egyedi ertek\r\n\r\n    int&#x5B;] tomb1Egyedi = new int&#x5B;tomb1.length];\r\n    \r\n    int idxTomb1 = 0;\r\n    tomb1Egyedi&#x5B;idxTomb1] = tomb1&#x5B;0];\r\n    idxTomb1++;\r\n    for( int i = 1; i &lt; tomb1.length; i++ )\r\n    {\r\n      int j = 0;\r\n      while( j &lt; idxTomb1 &amp;&amp; tomb1Egyedi&#x5B;j] != tomb1&#x5B;i] )\r\n      {\r\n        j++;\r\n      }\r\n      \r\n      if( j == idxTomb1 )\r\n      {\r\n        tomb1Egyedi&#x5B;idxTomb1] = tomb1&#x5B;i];\r\n        idxTomb1++;\r\n      }\r\n    }\r\n\r\n    int&#x5B;] tomb2Egyedi = new int&#x5B;tomb2.length];\r\n    \r\n    int idxTomb2 = 0;\r\n    tomb2Egyedi&#x5B;idxTomb2] = tomb1&#x5B;0];\r\n    idxTomb2++;\r\n    for( int i = 1; i &lt; tomb2.length; i++ )\r\n    {\r\n      int j = 0;\r\n      while( j &lt; idxTomb2 &amp;&amp; tomb2Egyedi&#x5B;j] != tomb2&#x5B;i] )\r\n      {\r\n        j++;\r\n      }\r\n      \r\n      if( j == idxTomb2 )\r\n      {\r\n        tomb2Egyedi&#x5B;idxTomb2] = tomb2&#x5B;i];\r\n        idxTomb2++;\r\n      }\r\n    }\r\n    \r\n    if( idxTomb1 &gt; idxTomb2 )\r\n    {\r\n      System.out.println( &quot;Az elso tombben van tobb &quot;+\r\n              &quot;egyedi ertek.&quot; );\r\n    }\r\n    else if( idxTomb1 &lt; idxTomb2 )\r\n    {\r\n      System.out.println( &quot;A masodik tombben van tobb &quot;+\r\n              &quot;egyedi ertek.&quot; );\r\n    }\r\n    else\r\n    {\r\n      System.out.println( &quot;A ket tombben ugyanannyi &quot;+\r\n              &quot;egyedi ertek van.&quot; );\r\n    }\r\n  }\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>A feladat aminek a megold\u00e1s\u00e1t itt k\u00f6zz\u00e9teszem, itt tal\u00e1lhat\u00f3. A feladatot csak forr\u00e1sk\u00f3dk\u00e9nt teszem k\u00f6zz\u00e9, a project-nek itt nem l\u00e1tn\u00e1m \u00e9rtelm\u00e9t. Term\u00e9szetesen sz\u00e1mtalan m\u00e1s m\u00f3don is meg lehetne oldani a feladatot, \u00e9n a tanult eszk\u00f6z\u00f6k \u00e9s alap algoritmusok seg\u00edts\u00e9g\u00e9vel mutatom <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=2464\">Tov\u00e1bb <span class=\"screen-reader-text\">  A F\u00e1jlkezel\u00e9s 5. feladat megold\u00e1sa Java nyelven<\/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":[211],"tags":[],"class_list":["post-2464","post","type-post","status-publish","format-standard","hentry","category-java-fajlkezeles-feladatok"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2464","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=2464"}],"version-history":[{"count":6,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2464\/revisions"}],"predecessor-version":[{"id":2477,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2464\/revisions\/2477"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}