Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Уймин Максим
- //IT School, группа MP54
- //26.10.2015
- //Задача 16. Дана матрица размера M*N
- //В каждом ее столбце найти количество элементов, больших среднего геометрического всех элементов этого столбца.
- import java.io.PrintStream;
- import java.util.Scanner;
- public class Task_matrix {
- public static PrintStream out = System.out;
- public static Scanner scan = new Scanner(System.in);
- public static class Matrix{
- //Класс для работы с целочисленными матрицами
- static public int[][] Matrix;
- //Методы конструктора
- public Matrix(int n,int m){
- //Метод создаёт матрицу считанного с клавиатуры размера
- if (n==0||m==0){
- out.println("Enter the size of the matrix:");
- int N=scan.nextInt();
- int M=scan.nextInt();
- Matrix = new int [N][M];
- }
- else Matrix = new int [n][m];
- }
- public void FillMatrixRandom(){
- //Метод заполеняет матрицу случайными числами от -10 до 10
- for (int i=0;i<Matrix.length;i++){
- for (int j=0;j<Matrix[i].length;j++){
- Matrix[i][j] = (-10) + (int)(Math.random()*((10-(-10))+1));
- }
- }
- }
- public void FillMatrix(){
- //Метод позволяет заполнить матрицу с клавиатуры
- for (int i=0;i<Matrix.length;i++){
- for (int j=0;j<Matrix[i].length;j++){
- out.println("Enter the element of the matrix");
- Matrix[i][j] = scan.nextInt();
- }
- }
- }
- public void PrintMatrix(){
- //Метод выводит матрицу размера m*n на экран
- for (int i=0;i<Matrix.length;i++){
- for (int j=0;j<Matrix[i].length;j++){
- out.print(Matrix[i][j] + "\t");
- }
- out.println();
- }
- }
- public static class SqrMatrix extends Matrix{
- public int[][] SqrMatrix;
- //Класс для работы с квадратными матрицами
- public SqrMatrix(int n){
- //Метод квадратную создаёт матрицу
- super(n,n);//Обращаемся к конструктору по умолчанию родительского класса
- }
- public void PrintMainDiagonal(){
- //Метод выводит на экран основную диагональ квадратной матрицы
- out.println("Main diagonal is:" );
- for (int i=0;i<this.Matrix.length;i++){
- out.print(this.Matrix[i][i]+"\t");
- }
- out.println();
- }
- public void PrintSideDiagonal(){
- //Метод выводит на экран побочную диагональ квадратной матрицы
- out.println("Side diagonal is:" );
- for (int i=0;i<this.Matrix.length;i++){
- out.print(this.Matrix[i][this.Matrix.length-1-i]+"\t");
- }
- out.println();
- }
- }
- }
- public static void main (String[]args){
- Matrix matrix = new Matrix(3,4);
- out.println("Just a matrix:");
- matrix.FillMatrixRandom();
- matrix.PrintMatrix();
- Matrix.SqrMatrix sqrmatrix = new Matrix.SqrMatrix(3);
- out.println("SQUARE matrix:");
- sqrmatrix.FillMatrixRandom();
- sqrmatrix.PrintMatrix();
- sqrmatrix.PrintMainDiagonal();
- sqrmatrix.PrintSideDiagonal();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement