/**
 programa spausdina dvieju matricu sudeti, ju daugyba.
 */
public class MatricaND 
{
    public static int[][] matrica1;
    public static int[][] matrica2;
    public static int[][] matrica3;

    public static void Main()
    {
        matrica1 = new int[3][3];
        matrica2 = new int[3][3];
        uzpildykMatrica(matrica1);
        uzpildykMatrica(matrica2);
        matrica1 = sudekMatricas(matrica1,matrica2);
        spausdinkMatrica(matrica1);
        System.out.println();
        matrica2 = kvadratuMatrica(matrica1);
        spausdinkMatrica(matrica2);
        matrica3 = kubuMatrica(matrica1);
        System.out.println();
        spausdinkMatrica(matrica3);
        System.out.println();
        matrica1 = sudekMatricas(matrica1,matrica2);
        matrica1 = sudekMatricas(matrica1,matrica3);
        spausdinkMatrica(matrica1);
    }
    
    
    public static void uzpildykMatrica(int[][] matrica)
    {
        for (int i = 0; i < matrica.length; i++)
        {
            for (int j=0; j < matrica[i].length; j++)
            {
                matrica[i][j] = i+j;
                
            }
        }
    }
    
    public static void spausdinkMatrica(int[][] matrica)
    {
        for (int i = 0; i < matrica.length; i++)
        {
            for (int j=0; j < matrica[i].length; j++)
            {
                System.out.print(matrica[i][j]);
                
            }
            System.out.println();
        }
    }
    
    public static int[][] sudekMatricas(int[][] matrica1, int[][] matrica2)
    {
        int[][] atsMatrica = new int[3][3];
        for (int i = 0; i < matrica1.length; i++)
        {
            for (int j=0; j < matrica1[i].length; j++)
            {
                atsMatrica[i][j] = matrica1[i][j] +matrica2[i][j];
            }
        }
        return atsMatrica;
    }
    
    public static int[][] kvadratuMatrica(int[][] matrica)
    {
        int[][] atsMatrica = new int[3][3];
        for (int i = 0; i < matrica1.length; i++)
        {
            for (int j=0; j < matrica1[i].length; j++)
            {
                atsMatrica[i][j] = matrica[i][j] * matrica[i][j];
            }
        }
        return atsMatrica;
    }
    
    public static int[][] kubuMatrica(int[][] matrica)
    {
        int[][] atsMatrica = new int[3][3];
        for (int i = 0; i < matrica1.length; i++)
        {
            for (int j=0; j < matrica1[i].length; j++)
            {
                atsMatrica[i][j] = matrica[i][j] * matrica[i][j] * matrica[i][j];
            }
        }
        return atsMatrica;
    }
