{"id":1527,"date":"2015-06-02T11:52:52","date_gmt":"2015-06-02T09:52:52","guid":{"rendered":"http:\/\/www.webotlet.hu\/?p=1527"},"modified":"2015-06-03T21:22:20","modified_gmt":"2015-06-03T19:22:20","slug":"java-egyperces-atlok-megoldasa","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=1527","title":{"rendered":"Java egyperces &#8211; \u00c1tl\u00f3k megold\u00e1sa"},"content":{"rendered":"<h3><strong>Csak akkor olvass tov\u00e1bb, ha a <a href=\"http:\/\/www.webotlet.hu\/?p=1497\">\u00c1tl\u00f3k<\/a> feladatot megoldottad, vagy nem siker\u00fclt megoldani.<\/strong><\/h3>\n<p>Az alap feladatot a fenti linken megtal\u00e1lod. A megold\u00e1st \u00fagy adom meg, hogy egy <em>meret<\/em> nev\u0171 v\u00e1ltoz\u00f3ba meg lehet adni a n\u00e9gyzet m\u00e9ret\u00e9t, amelyben meg kell keresni a legnagyobb \u00f6sszeg\u0171 \u00e1tl\u00f3t.<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\/**\r\n *\r\n * @author http:\/\/webotlet.hu\r\n *\/\r\npackage webotlet_atlok;\r\n\r\npublic class Webotlet_Atlok\r\n{\r\n\r\n  public static void main(String&#x5B;] args)\r\n  {\r\n\/\/ a matrix meretenek megadasa\r\n    int meret = 10;\r\n    int&#x5B;]&#x5B;] matrix = new int&#x5B;meret]&#x5B;meret];\r\n\r\n\/\/ a matrix feltoltese es kiiratasa\r\n    for (int i = 0; i &lt; matrix.length; i++)\r\n    {\r\n      for (int j = 0; j &lt; matrix&#x5B;i].length; j++)\r\n      {\r\n        matrix&#x5B;i]&#x5B;j] = (int) (Math.random() * 100);\r\n      }\r\n    }\r\n    kiir(matrix);\r\n\r\n\/\/ itt tarolom majd a maximum osszegu atlo kezdopontjanak\r\n\/\/ koordinatait, es az osszeget  { x, y, osszeg }\r\n    int&#x5B;] max = new int&#x5B;3];\r\n\r\n    int osszeg = 0;\r\n\r\n\/\/ azokat az atlokat vizsgalom, ahol a kezdopont\r\n\/\/ az elso sorban van\r\n    for (int j = 0; j &lt; matrix&#x5B;0].length; j++)\r\n    {\r\n      int i = 0;\r\n\/\/ a k valtozoban tarolom, hogy hany mezovel haladtam dk-i iranyba\r\n      int k = 0;\r\n      osszeg = 0;\r\n      System.out.print(&quot;Atlo kezdopont: &quot; + i + &quot;,&quot; + j);\r\n      do\r\n      {\r\n        osszeg += matrix&#x5B;i + k]&#x5B;j + k];\r\n        k++;\r\n      }\r\n      while (i + k &lt; meret &amp;&amp; j + k &lt; meret);\r\n      System.out.println(&quot; osszeg: &quot; + osszeg);\r\n      if (osszeg &gt; max&#x5B;2])\r\n      {\r\n        max&#x5B;0] = i;\r\n        max&#x5B;1] = j;\r\n        max&#x5B;2] = osszeg;\r\n      }\r\n    }\r\n\r\n\/\/ azokat az atlokat vizsgalom, ahol a kezdopont\r\n\/\/ az elso oszlopban van\r\n\/\/ (a 0,0 koordinataju atlot nem szamolom ki megegyszer)\r\n    for (int i = 1; i &lt; matrix.length; i++)\r\n    {\r\n      int j = 0;\r\n\/\/ a k valtozoban tarolom, hogy hany mezovel haladtam dk-i iranyba\r\n      int k = 0;\r\n      osszeg = 0;\r\n      System.out.print(&quot;Atlo kezdopont: &quot; + i + &quot;,&quot; + j);\r\n\r\n      do\r\n      {\r\n        osszeg += matrix&#x5B;i + k]&#x5B;j + k];\r\n        k++;\r\n      }\r\n      while (i + k &lt; meret &amp;&amp; j + k &lt; meret);\r\n\r\n      System.out.println(&quot; osszeg: &quot; + osszeg);\r\n      if (osszeg &gt; max&#x5B;2])\r\n      {\r\n        max&#x5B;0] = i;\r\n        max&#x5B;1] = j;\r\n        max&#x5B;2] = osszeg;\r\n      }\r\n    }\r\n\r\n    System.out.println(&quot;max: &quot; + max&#x5B;2] + &quot; helye: &quot; + max&#x5B;0] + &quot;,&quot; + max&#x5B;1]);\r\n  }\r\n\r\n  public static void kiir(int&#x5B;]&#x5B;] tomb)\r\n  {\r\n    for (int i = 0; i &lt; tomb.length; i++)\r\n    {\r\n      for (int j = 0; j &lt; tomb&#x5B;i].length; j++)\r\n      {\r\n        System.out.print(String.format(&quot;%3d&quot;, tomb&#x5B;i]&#x5B;j]));\r\n      }\r\n      System.out.println();\r\n    }\r\n  }\r\n\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Csak akkor olvass tov\u00e1bb, ha a \u00c1tl\u00f3k feladatot megoldottad, vagy nem siker\u00fclt megoldani. Az alap feladatot a fenti linken megtal\u00e1lod. A megold\u00e1st \u00fagy adom meg, hogy egy meret nev\u0171 v\u00e1ltoz\u00f3ba meg lehet adni a n\u00e9gyzet m\u00e9ret\u00e9t, amelyben meg kell keresni <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=1527\">Tov\u00e1bb <span class=\"screen-reader-text\">  Java egyperces &#8211; \u00c1tl\u00f3k 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":[95],"tags":[86,120,143,65],"class_list":["post-1527","post","type-post","status-publish","format-standard","hentry","category-egyperces-feladatok-megoldasai","tag-java","tag-ketdimenzios-tomb","tag-programozas","tag-tobbdimenzios-tomb"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/1527","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=1527"}],"version-history":[{"count":5,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/1527\/revisions"}],"predecessor-version":[{"id":1536,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/1527\/revisions\/1536"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1527"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1527"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1527"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}