I have the following code. I wish to state a matrix and multiply it to a specific power.
import java.util.Scanner;
class Test
{
public static void main(String args[])
{
int m, n, c, d, k, Ind, x;
double sum = 0;
Scanner in = new Scanner(System.in);
System.out.println("Enter the power by which you want the Matrix to be multiplyed by: ");
Ind = in.nextInt();
System.out.println("Enter the number of rows and columns of first matrix");
m = in.nextInt();
n = in.nextInt();
double Mtr[][] = new double[m][n];
double multiply[][] = new double[m][n];
System.out.println("Enter the elements of first matrix");
for ( c = 0 ; c < m ; c++ )
for ( d = 0 ; d < n ; d++ )
Mtr[c][d] = in.nextInt();
if ( Ind ==1 )
for ( c = 0 ; c < m ; c++ )
{
for ( d = 0 ; d < n ; d++ )
System.out.print(Mtr[c][d]+"\t");
System.out.print("\n");
}
else
{
for ( c = 0 ; c < m ; c++ )
{
for (x=0; x < Ind; x++)
{
for ( d = 0 ; d < n ; d++ )
{
for ( k = 0 ; k < m ; k++ )
{
sum = sum + Mtr[c][k]*Mtr[k][d];
}
multiply[c][d] = sum;
sum = 0;
}
}
}
System.out.println("Product of entered matrices:-");
for ( c = 0 ; c < m ; c++ )
{
for ( d = 0 ; d < n ; d++ )
System.out.print(multiply[c][d]+"\t");
System.out.print("\n");
}
}
}
}
The issue I am having is I am not sure where to apply the Loop to multiply the matrix by the power that I have entered. I think I might have to also change the logic so that
sum = sum + Mtr[c][k]*multiply[k][d]