Advertisement
Atem85

JJ

Sep 16th, 2014
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.82 KB | None | 0 0
  1. package nWeb4;
  2.  
  3. import web4.Main;
  4.  
  5. /**
  6.  * Created by Артем on 15.09.2014.
  7.  */
  8. public class Demo {
  9.     public static void main(String[] args) {
  10.  
  11.         Matrix m1 = new Matrix();
  12.         Matrix m2 = new Matrix();
  13.         /*m1.generate(3);
  14.         m1.print();
  15.         System.out.println();
  16.  
  17.         m2.generate(3);
  18.         m2.print();
  19.         System.out.println();
  20.  
  21.         int[][] resultAdd = m1.add(m2.getMatrix());
  22.         Matrix.print(resultAdd);
  23.  
  24.         System.out.println("~~~~~");*/
  25.  
  26.         m1.generateMulty(2);
  27.         m1.print();
  28.         System.out.println();
  29.         m2.generateMulty(3);
  30.         m2.print();
  31.         System.out.println();
  32.         int[][] resultMyltiply = m1.multiply(m2.getMatrix());
  33.         Matrix.print(resultMyltiply);
  34.  
  35.     }
  36. }
  37. package nWeb4;
  38.  
  39. /**
  40.  * Created by Артем on 15.09.2014.
  41.  */
  42. public class Matrix {
  43.  
  44.     private int[][] matrix;
  45.  
  46.     public void print() {
  47.         print(matrix);
  48.  
  49.     }
  50.  
  51.     public static void print(int[][] array){
  52.         for (int i = 0; i < array.length; i++) {
  53.             for (int j = 0; j < array[i].length; j++) {
  54.                 System.out.print(array[i][j] + " ");
  55.             }
  56.             System.out.println();
  57.         }
  58.  
  59.     }
  60.  
  61.     public void generate(int size) {
  62.         matrix = new int[size][size];
  63.         for (int i = 0; i < matrix.length; i++) {
  64.             for (int j = 0; j < matrix[i].length; j++) {
  65.                 matrix[i][j] = (int) Math.round(Math.random() * 10);
  66.             }
  67.         }
  68.     }
  69.     public void generateMulty(int size) {
  70.         matrix = new int[size-1][size];
  71.         for (int i = 0; i < matrix.length; i++) {
  72.             for (int j = 0; j < matrix[i].length; j++) {
  73.                 matrix[i][j] = (int) Math.round(Math.random() * 10);
  74.             }
  75.         }
  76.     }
  77.     public int[][] add(int[][] m){
  78.         int[][] result = new int [matrix.length][matrix.length];
  79.         for (int i = 0; i<matrix.length; i++){
  80.             for (int j = 0; j < matrix[i].length; j++) {
  81.                 result[i][j] = matrix[i][j] + m[i][j];
  82.             }
  83.         }
  84.         return result;
  85.     }
  86.     public  int[][] multiply(int[][] m){
  87.         int[][] result = new int[1][1];
  88.         //на этот цикл не обращай внимание, потом приведу его в порядок, т.к. экспериментировал
  89.         for (int i = 0; i < result.length; i++) {
  90.             result[i] = new int[3];
  91.         }
  92.         for (int i = 0; i<matrix.length; i++) {
  93.             for (int j = 0; j < matrix[i].length; j++) {
  94.                 for (int l = 0; l < m.length; l++) {
  95.                     result[i][j] += matrix[i][l] * m[l][j];
  96.                 }
  97.             }
  98.         }
  99.         return result;
  100.  
  101.     }
  102.  
  103.  
  104.     public int[][] getMatrix() {
  105.         return matrix;
  106.     }
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement