Advertisement
Uimin_Maxim

Упражнение 16

Jan 27th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.34 KB | None | 0 0
  1. //Уймин Максим
  2. //IT School, группа MP54
  3. //26.10.2015
  4. //Задача 16. Дана матрица размера M*N
  5. //В каждом ее столбце найти количество элементов, больших среднего геометрического всех элементов этого столбца.
  6. import java.io.PrintStream;
  7. import java.util.Scanner;
  8. public class Task_matrix {
  9.     public static PrintStream out = System.out;
  10.     public static Scanner scan = new Scanner(System.in);
  11.     public static class Matrix{
  12.         //Класс для работы с целочисленными матрицами
  13.         static public int[][] Matrix;
  14.             //Методы конструктора
  15.             public Matrix(int n,int m){
  16.                 //Метод создаёт матрицу считанного с клавиатуры размера
  17.                 if (n==0||m==0){
  18.                     out.println("Enter the size of the matrix:");
  19.                     int N=scan.nextInt();
  20.                     int M=scan.nextInt();
  21.                     Matrix = new int [N][M];
  22.                 }
  23.                 else Matrix = new int [n][m];
  24.             }
  25.             public void FillMatrixRandom(){
  26.                 //Метод заполеняет матрицу случайными числами от -10 до 10
  27.                 for (int i=0;i<Matrix.length;i++){
  28.                     for (int j=0;j<Matrix[i].length;j++){
  29.                         Matrix[i][j] = (-10) + (int)(Math.random()*((10-(-10))+1));
  30.                     }
  31.                 }
  32.             }
  33.             public void FillMatrix(){
  34.                 //Метод позволяет заполнить матрицу с клавиатуры
  35.                 for (int i=0;i<Matrix.length;i++){
  36.                     for (int j=0;j<Matrix[i].length;j++){
  37.                         out.println("Enter the element of the matrix");
  38.                         Matrix[i][j] = scan.nextInt();
  39.                     }
  40.                 }
  41.             }
  42.             public void PrintMatrix(){
  43.                 //Метод выводит матрицу размера m*n на экран
  44.                 for (int i=0;i<Matrix.length;i++){
  45.                     for (int j=0;j<Matrix[i].length;j++){
  46.                         out.print(Matrix[i][j] + "\t");
  47.                     }
  48.                     out.println();
  49.                 }
  50.             }
  51.             public static class SqrMatrix extends Matrix{
  52.         public int[][] SqrMatrix;
  53.         //Класс для работы с квадратными матрицами
  54.             public SqrMatrix(int n){
  55.                 //Метод квадратную создаёт матрицу
  56.             super(n,n);//Обращаемся к конструктору по умолчанию родительского класса
  57.         }
  58.         public void PrintMainDiagonal(){
  59.             //Метод выводит на экран основную диагональ квадратной матрицы
  60.             out.println("Main diagonal is:" );
  61.             for (int i=0;i<this.Matrix.length;i++){
  62.                 out.print(this.Matrix[i][i]+"\t");
  63.             }
  64.             out.println();
  65.         }
  66.         public void PrintSideDiagonal(){
  67.             //Метод выводит на экран побочную диагональ квадратной матрицы
  68.             out.println("Side diagonal is:" );
  69.             for (int i=0;i<this.Matrix.length;i++){
  70.                 out.print(this.Matrix[i][this.Matrix.length-1-i]+"\t");
  71.             }
  72.             out.println();
  73.         }
  74.     }
  75.     }
  76.    
  77.     public static void main (String[]args){
  78.         Matrix matrix = new Matrix(3,4);
  79.         out.println("Just a matrix:");
  80.         matrix.FillMatrixRandom();
  81.         matrix.PrintMatrix();
  82.         Matrix.SqrMatrix sqrmatrix = new Matrix.SqrMatrix(3);
  83.         out.println("SQUARE matrix:");
  84.         sqrmatrix.FillMatrixRandom();
  85.         sqrmatrix.PrintMatrix();
  86.         sqrmatrix.PrintMainDiagonal();
  87.         sqrmatrix.PrintSideDiagonal();
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement