Master_Tiroman

MatrixProg

Sep 25th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.23 KB | None | 0 0
  1.  
  2. import java.util.Scanner;
  3.  
  4. class Optional{
  5. private int matrix[][];
  6. private int tmatrix[][];
  7. private int limit_size;
  8.  
  9. Optional(int size){
  10. matrix=new int[size][size];
  11. limit_size=size;
  12. }
  13.  
  14. public int getMatrixLenght(){ return matrix.length; }
  15.  
  16. public int[][] getMatrix(){ return matrix; }
  17.  
  18. public int[][] getTmatrix(){ return tmatrix; }
  19.  
  20. public double getLimitSize(){ return limit_size; }
  21.  
  22. public void setMatrix(int val, int stroka, int stolb){
  23. matrix[stroka][stolb]=val;
  24. }
  25.  
  26. public int getMatrixEl(int stroka, int stolb){ return matrix[stroka][stolb]; }
  27.  
  28. public int opr(int mass[][],int k){
  29. int opr;
  30. double chank=0;
  31. int i=0;
  32.  
  33. if(mass.length==2){
  34. opr=(mass[0][0]*mass[1][1])-(mass[1][0]*mass[0][1]);
  35. return opr;
  36. }
  37.  
  38. for (int j = 0; j < mass.length; j++) {
  39. int t[][] = createMass(mass, i, j);
  40. chank =chank+ Math.pow((-1),i+j)*(mass[i][j] * opr(t, k++));
  41. }
  42.  
  43. opr = (int)chank;
  44. return opr;
  45. }
  46.  
  47. public int[][] createMass(int mass[][],int x, int y){
  48. int mass1[][]=new int[mass.length-1][mass.length-1];
  49. int mass1I=0, mass1J=0;
  50. try {
  51. for (int i = 0; i < mass.length; i++) {
  52. if(mass1J==mass1.length){ mass1J=0; mass1I++; }
  53. for (int j = 0; j < mass.length; j++) {
  54. if(mass1I==mass1.length | mass1J==mass1.length) continue;
  55. if (i == x | j == y) continue;
  56. mass1[mass1I][mass1J++] = mass[i][j];
  57. }
  58. }
  59. }
  60.  
  61. catch(ArrayIndexOutOfBoundsException exc){
  62. System.out.println("выход за пределы индекса");
  63. }
  64. return mass1;
  65. }
  66.  
  67. public void createTmatrix(){
  68. tmatrix=new int[matrix.length][matrix.length];
  69.  
  70. for(int i=0; i<matrix.length; i++){
  71. for(int j=0; j<matrix.length; j++){
  72. tmatrix[i][j]=matrix[j][i];
  73. }
  74. }
  75. }
  76.  
  77.  
  78.  
  79.  
  80. }
  81.  
  82. class ActionDEMO {
  83. public static void main(String args[]) {
  84. Optional matrix1 = new Optional(3);
  85. Scanner scan = new Scanner(System.in);
  86. int dx[][];
  87.  
  88. for (int i = 0; i < matrix1.getLimitSize(); i++) {
  89. for (int j = 0; j < matrix1.getLimitSize(); j++) {
  90. System.out.println("Введите a" + i + "" + j);
  91. int val = scan.nextInt();
  92.  
  93. matrix1.setMatrix(val, i, j);
  94. }
  95. }
  96.  
  97. dx=matrix1.getMatrix();
  98. for(int i=0; i<matrix1.getLimitSize();i++){
  99. System.out.println();
  100. for(int j=0; j<matrix1.getLimitSize(); j++){
  101. System.out.print(dx[i][j]);
  102. }
  103. }
  104.  
  105. System.out.println("\nопределитель: "+matrix1.opr(matrix1.getMatrix(),0));
  106.  
  107. matrix1.createTmatrix();
  108. dx=matrix1.getTmatrix();
  109. for(int i=0; i<matrix1.getLimitSize();i++){
  110. System.out.println();
  111. for(int j=0; j<matrix1.getLimitSize(); j++){
  112. System.out.print(dx[i][j]);
  113. }
  114. }
  115.  
  116. }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment