public class matris
 {
	 
 public double A[][];
 //kurucu metodlar
 public matris(double Ai[][])
 { A=new double[Ai.length][Ai[0].length];
   matrisgir(Ai); 
 }
 
 public matris(matris M)
 { A=new double[M.A.length][M.A[0].length];
   matrisgir(M.A); 
 }
 
 public matris(int n,int m)
 { A=new double[n][m];
   for(int i=0;i<n;i++)
	 { for(int j=0;j<m;j++)
	   {A[i][j]=0.0;}
     }  
 }
 
 public void matrisgir(double Ai[][])
 {   for(int i=0;i<A.length;i++)
	 { for(int j=0;j<A[0].length;j++)
	   {A[i][j]=Ai[i][j];}
     }
 }
 
 public static matris topla(matris M1,matris M2)
 {
 //toplamak için matris M1 ve matris M2 aynı boyutta olmalı	 
 int n=M1.A.length;
 int m=M1.A[0].length;
 matris M3=new matris(n,m);
  for(int i=0;i<n;i++)
	 { for(int j=0;j<m;j++)
	   {M3.A[i][j]=M1.A[i][j]+M2.A[i][j];}
     }  
 return M3;	   
 }
 
 public static matris topla(double[][] A1,double[][] A2)
 {
 //toplamak için matris M1 ve matris M2 aynı boyutta olmalı	 
 int n=A1.length;
 int m=A1[0].length;
 matris M=new matris(n,m);
  for(int i=0;i<n;i++)
	 { for(int j=0;j<m;j++)
	   {M.A[i][j]=A1[i][j]+A2[i][j];}
     }  
 return M;	   
 }
 
 public void topla(matris M1)
 {
 //toplamak için matrisler aynı boyutta olmalı	 
 int n=A.length;
 int m=A[0].length;
  for(int i=0;i<n;i++)
	 { for(int j=0;j<m;j++)
	   {A[i][j]+=M1.A[i][j];}
     }  	   
 }
 
 public void topla(double [][] B)
 {
 //toplamak için matrisler aynı boyutta olmalı	 
 int n=A.length;
 int m=A[0].length;
  for(int i=0;i<n;i++)
	 { for(int j=0;j<m;j++)
	   {A[i][j]+=B[i][j];}
     }  	   
 }
 
 public static String matriscikti(matris M)
 { int n=M.A.length;
   int m=M.A[0].length;
   String s="";
  for(int i=0;i<n;i++)
	 { for(int j=0;j<m;j++)
	   {s+=M.A[i][j]+" ";}
	 s+="\n";
	 }
 return s;
 }
 
 public String matriscikti()
 { int n=A.length;
   int m=A[0].length;
   String s="";
  for(int i=0;i<n;i++)
	 { for(int j=0;j<m;j++)
	   {s+=A[i][j]+" ";}
	 s+="\n";
	 }
 return s;
 } //matriscikti metodunun sonu	 	 
 
 }//matris sınıfının sonu
