{"id":1283,"date":"2016-08-28T19:42:44","date_gmt":"2016-08-28T16:42:44","guid":{"rendered":"http:\/\/java.mazurok.com\/?p=1283"},"modified":"2016-09-02T15:17:30","modified_gmt":"2016-09-02T12:17:30","slug":"class-matrix","status":"publish","type":"post","link":"https:\/\/java.mazurok.com\/?p=1283","title":{"rendered":"Class Matrix"},"content":{"rendered":"<p>\u0417\u0430\u0434\u0430\u0447\u0430:<\/p>\n<p>\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043c\u0430\u0442\u0440\u0438\u0446 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0439\u0442\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0438\u043c\u0438.<\/p>\n<p>\u0422\u0435\u0441\u0442\u044b:<\/p>\n<table style=\"height: 362px;width: 591px\">\n<tbody>\n<tr style=\"height: 65px\">\n<td style=\"width: 51px;text-align: center;height: 65px\">\u2116<\/td>\n<td style=\"width: 232px;text-align: center;height: 65px\">\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435<\/td>\n<td style=\"width: 125px;text-align: center;height: 65px\">\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f<\/td>\n<td style=\"width: 155px;text-align: center;height: 65px\">\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/td>\n<\/tr>\n<tr style=\"height: 71px\">\n<td style=\"width: 51px;text-align: center;height: 71px\">1.<\/td>\n<td style=\"width: 232px;height: 201px;text-align: left\" rowspan=\"3\">&nbsp;<\/p>\n<p>A: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0B:<\/p>\n<p>-9 \u00a01 \u00a00 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a01 \u00a00 \u00a00<\/p>\n<p>4 \u00a0 1 \u00a0 1 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0 \u00a02 \u00a00<\/p>\n<p>-2 \u00a0 2 \u00a0-1 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a00 \u00a00 \u00a01<\/p>\n<p>&nbsp;<\/td>\n<td style=\"width: 125px;text-align: center;height: 71px\">+<\/td>\n<td style=\"width: 155px;text-align: center;height: 71px\">-8 1 0<br \/>\n4 3 1<br \/>\n-2 2 0<\/td>\n<\/tr>\n<tr style=\"height: 72px\">\n<td style=\"width: 51px;text-align: center;height: 72px\">2.<\/td>\n<td style=\"width: 125px;text-align: center;height: 72px\">&#8212;<\/td>\n<td style=\"width: 155px;text-align: center;height: 72px\">-10 1 0<br \/>\n4 -1 1<br \/>\n-2 2 -2<\/td>\n<\/tr>\n<tr style=\"height: 58px\">\n<td style=\"width: 51px;text-align: center;height: 58px\">3.<\/td>\n<td style=\"width: 125px;text-align: center;height: 58px\">*<\/td>\n<td style=\"width: 155px;text-align: center;height: 58px\">-9 2 0<br \/>\n4 2 1<br \/>\n-2 4 -1<\/td>\n<\/tr>\n<tr style=\"height: 66px\">\n<td style=\"width: 51px;text-align: center;height: 66px\">4.<\/td>\n<td style=\"width: 232px;text-align: center;height: 66px\">-9 1 0<br \/>\n4 1 1<br \/>\n-2 2 -1<\/td>\n<td style=\"width: 125px;text-align: center;height: 66px\">transposition<\/td>\n<td style=\"width: 155px;text-align: center;height: 66px\">-9 4 -2<br \/>\n1 1 2<br \/>\n0 1 -1<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<pre class=\"lang:java decode:true \">public class Matrix {\r\n\r\n    private int a[][];\r\n\r\n    public Matrix(int n, int m) {\r\n        a = new int[n][m];\r\n    }\r\n\r\n    public Matrix(int a[][]) {\r\n        this.a = a;\r\n    }\r\n\r\n    public int getVerticalSize() {\r\n        return a.length;\r\n    }\r\n\r\n    public int getHorizontalSize() {\r\n        return a[0].length;\r\n    }\r\n\r\n    public int getElement(int i, int j) {\r\n        return a[i][j];\r\n    }\r\n\r\n    public void setElement(int i, int j, int value) {\r\n        a[i][j] = value;\r\n    }\r\n\r\n    @Override\r\n    public String toString() {\r\n        String s = \"\\n\";\r\n        for (int[] vector : a) {\r\n            for (int value : vector)\r\n                s += value + \" \";\r\n            s += \"\\n\";\r\n        }\r\n        return s;\r\n    }\r\n\r\n    public static Matrix add(Matrix a, Matrix b) {\r\n        int v = a.getVerticalSize();\r\n        int h = a.getHorizontalSize();\r\n        Matrix result = new Matrix(v, h);\r\n\r\n        for (int i = 0; i &lt; h; i++) {\r\n            for (int j = 0; j &lt; v; j++) {\r\n                int value = 0;\r\n                value = a.getElement(i, j) + b.getElement(i, j);\r\n                result.setElement(i, j, value);\r\n            }\r\n        }\r\n        return result;\r\n    }\r\n\r\n    public static Matrix subtract(Matrix a, Matrix b) {\r\n        int v = a.getVerticalSize();\r\n        int h = a.getHorizontalSize();\r\n        Matrix result = new Matrix(v, h);\r\n\r\n        for (int i = 0; i &lt; h; i++) {\r\n            for (int j = 0; j &lt; v; j++) {\r\n                int value = 0;\r\n                value = a.getElement(i, j) - b.getElement(i, j);\r\n                result.setElement(i, j, value);\r\n            }\r\n        }\r\n        return result;\r\n    }\r\n\r\n    public static Matrix multiply(Matrix a, Matrix b) {\r\n        int v = a.getVerticalSize();\r\n        int h = b.getHorizontalSize();\r\n        int temp = a.getHorizontalSize();\r\n\r\n        Matrix result = new Matrix(v, h);\r\n\r\n        for (int i = 0; i &lt; v; i++)\r\n            for (int j = 0; j &lt; h; j++) {\r\n                int value = 0;\r\n                for (int k = 0; k &lt; temp; k++) {\r\n                    value += a.getElement(i, k) * b.getElement(k, j);\r\n                }\r\n                result.setElement(i, j, value);\r\n            }\r\n        return result;\r\n    }\r\n\r\n    public void transMatrix() {\r\n        int x = a.length;\r\n        int retA[][] = new int[x][x];\r\n        for (int i = 0; i &lt; x; i++) {\r\n            for (int j = 0; j &lt; x; j++) {\r\n                retA[j][i] = a[i][j];\r\n            }\r\n        }\r\n        for (int i = 0; i &lt; a.length; i++) {\r\n            System.arraycopy(retA[i], 0, a[i], 0, a.length);\r\n        }\r\n    }\r\n\r\n    public static void main(String[] args) {\r\n\r\n        int[][] a = {{-9, 1, 0}, {4, 1, 1}, {-2, 2, -1}};\r\n        int[][] b = {{0, 0, 0}, {0, 2, 0}, {0, 0, 1}};\r\n\r\n        Matrix A = new Matrix(a);\r\n        System.out.println(\"A\" + A);\r\n        System.out.println(\"Element [0,0] : \" + A.getElement(0, 0));\r\n\r\n        Matrix B = new Matrix(b);\r\n        B.setElement(0, 0, 1);\r\n        System.out.println(\"Size of matrix B : \" + B.getHorizontalSize() + \" \" + B.getVerticalSize() + B);\r\n\r\n        Matrix C;\r\n        C = add(A, B);\r\n        System.out.println(\"add \" + C);\r\n\r\n        C = subtract(A, B);\r\n        System.out.println(\"subtract \" + C);\r\n\r\n        C = multiply(A, B);\r\n        System.out.println(\"multiply \" + C);\r\n\r\n        A.transMatrix();\r\n        System.out.println(\"Transposed A : \" + A);\r\n\r\n    }\r\n}\r\n<\/pre>\n<p><a href=\"http:\/\/ideone.com\/vC5j6F\">\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0430 Ideone<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0417\u0430\u0434\u0430\u0447\u0430: \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043c\u0430\u0442\u0440\u0438\u0446 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0439\u0442\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0438\u043c\u0438. \u0422\u0435\u0441\u0442\u044b: \u2116 \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 1. &nbsp; A: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0B: -9 \u00a01 \u00a00 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a01 \u00a00 \u00a00 4 \u00a0 1 &hellip; <a href=\"https:\/\/java.mazurok.com\/?p=1283\" class=\"more-link\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":82,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[182],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/posts\/1283"}],"collection":[{"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/users\/82"}],"replies":[{"embeddable":true,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1283"}],"version-history":[{"count":9,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/posts\/1283\/revisions"}],"predecessor-version":[{"id":1292,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/posts\/1283\/revisions\/1292"}],"wp:attachment":[{"href":"https:\/\/java.mazurok.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}