You are on page 1of 5

PROGRAM

import java.io.*;
class matrix
{
public static void main()throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int sum=0,f=0;
int r,y,c,k=0,pr=1,mid1,mid2,t,s1=0,s2=0;
System.out.println("Enter number of rows and columns");
r=Integer.parseInt(br.readLine());
c=Integer.parseInt(br.readLine());
int M[][]=new int[r][c];
int T[][]=new int[c][r];
int a[]=new int[r*c];
if((r*c)%4==0)
y=(r*c)/4;
else y=(r*c)/4 + 1;
int M2[][]=new int [4][y];
for(int i=0;i<r;i++)
{ System.out.println("Enter element for row "+(i+1));
for(int j=0;j<c;j++)
{
M[i][j]=Integer.parseInt(br.readLine());
}
}
System.out.println("Printing the matrix IN TABULAR FORMAT");
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
System.out.print(M[i][j]+" ");
System.out.println();
}//PRINTING IT IN TABULAR FORMAT
System.out.println("PRINTING THE TRANSPOSED MATRIX");
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
T[j][i]=M[i][j];
}
for(int i=0;i<c;i++)
{
for(int j=0;j<r;j++)
System.out.print(T[i][j]+" ");
System.out.println();
}
if(r==c)

{
for( int i=0;i<r;i++)
{
for( int j=0;j<c;j++)
{
if(M[i][j]!=M[j][i])
k=1;
}
}
if(k==0)
System.out.println("It is a symmetric matrix");
else
System.out.println("it is not a symmetric matrix");
}
else
System.out.println("Matrix is not a square matrix");
if(r==c)
{
System.out.println("Printing the left diagonal");
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
if(i==j)
System.out.print(M[i][j]);
else System.out.print(" ");
}
System.out.println();
}
}
else System.out.println("Left diagonal cannot be printed");
if(r==c)
{
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{if((i+j)==(r-1))
sum=sum+M[i][j];
}
}
System.out.println("SUM of the elements of the right diagonal is ="+sum);
}
else System.out.println("It is not Square Matrix");
sum=0;
System.out.println();

System.out.println("Printing Sum of every row and column of matrix");


for(int i=0;i<r;i++)
{
s1=0;
for(int j=0;j<c;j++)
{
s1+=M[i][j];
System.out.print(M[i][j]+" ");
}
System.out.println();
}
if(r==c)
{
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{if(i==j&&M[i][j]==1)
{ if(i!=j&&M[i][j]==0)
f=1;
else
{f=0;break;}
}
}
}
if(f==1)
System.out.println(" It is a unit matrix");
else
System.out.println(" It is not a unit matrix");
}
else
System.out.println("it is not a square matrix");
if(r!=c)
System.out.println("Intersection point cannot be printed");
else
{
if(r%2!=0&&c%2!=0)
{
mid1=(int)r/2;
mid2=(int)c/2;
System.out.println("Intersection point of 2 diagonal is="+M[mid1][mid2]);
System.out.println("Elements above,under,right,left of the intersection point are "+M[mid11][mid2]+" "+M[mid1+1][mid2]+" "+M[mid1][mid2+1]+" "+M[mid1][mid2-1]+" respectively");
}
}
System.out.println();
if(r!=c)
{System.out.println("PRINTING THE TRANSPOSED MATRIX");

for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
T[j][i]=M[i][j];
}
for(int i=0;i<c;i++)
{
for(int j=0;j<r;j++)
System.out.print(T[i][j]+" ");
System.out.println();
}
System.out.println("PRINTING CUMMULATIVE PRODUCTS of 2nd ROW ELEMENTS");
for(int i=0;i<r;i++)
{for(int j=0;j<c;j++)
{ if(i==1)
pr=pr*M[i][j];
}
}
System.out.println(pr);
System.out.println("PRINTING THE MATRIX IN SUCH A WAY THAT SUM OF EVERY ROW
APPEARS AT THE END OF RESPECTIVE ROW");
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
System.out.print(M[i][j]+" ");
sum=sum+M[i][j];
}
System.out.print(" "+sum);
sum=0;
System.out.println();
}
System.out.println("\nPRINTING THE MATRIX IN SUCH A WAY THAT SUM OF EVERY COLUMN
APPEARS AT THE BOTTOM OF RESPECTIVE COLUMN");
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
a[j]+=T[j][i];
System.out.print(M[i][j]+" ");
}
System.out.println();
}
System.out.println();
for(int j=0;j<c;j++)
System.out.print(a[j]+" ");

System.out.println("\nPRINTING THE UPPER MAIN HALF OF MATRIX");


if(r%2==0)
t=r/2;
else t=(r+1)/2;
for(int i=0;i<t;i++)
{
for(int j=0;j<c;j++)
System.out.print(M[i][j]+" ");
System.out.println();
}
System.out.println("PRINTING SORTED ARRAY IN DESIRED 4*Y FORMAT ");
s1=0;
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
a[s1]=M[i][j];
s1++;
}
}
for(int i=0;i<s1;i++)
{
for(int j=1;j<(s1-i);j++)
{
if(a[j-1]>a[j])
{
t=a[j-1];
a[j-1]=a[j];
a[j]=t;
}
}
}
s2=0;
for(int i=0;i<4;i++)
{
for(int j=0;j<y;j++)
{
if(s2<s1)
{ M2[i][j]=a[s2];
System.out.print(M2[i][j]+"\t");
s2++; }
else break;
}
System.out.println();
}
}
}}

You might also like