*8.25 (Markov matrix) An n * n matrix is called a positive Markov matrix if each
element is positive and the sum of the elements in each column is 1. Write the
following method to check whether a matrix is a Markov matrix.
public static boolean isMarkovMatrix(double[][] m)
Write a test program that prompts the user to enter a 3 * 3 matrix of double values and tests whether it is a Markov matrix. Here are sample runs:
Enter a 3-by-3 matrix row by row:
0.15 0.875 0.375
0.55 0.005 0.225
0.30 0.12 0.4
It is a Markov matrix
Enter a 3-by-3 matrix row by row:
0.95 -0.875 0.375
0.65 0.005 0.225
0.30 0.22 -0.4
It is not a Markov matrix
public static boolean isMarkovMatrix(double[][] m)
Write a test program that prompts the user to enter a 3 * 3 matrix of double values and tests whether it is a Markov matrix. Here are sample runs:
Enter a 3-by-3 matrix row by row:
0.15 0.875 0.375
0.55 0.005 0.225
0.30 0.12 0.4
It is a Markov matrix
Enter a 3-by-3 matrix row by row:
0.95 -0.875 0.375
0.65 0.005 0.225
0.30 0.22 -0.4
It is not a Markov matrix
import java.util.Scanner; public class ProgrammingEx5_25 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Enter a 3-by-3 matrix row by row:"); double[][] n = new double[3][3]; for (int i = 0; i < n.length; i++) { for (int j = 0; j < n[i].length; j++) { n[i][j] = input.nextDouble(); } } String s = ""; if (!isMarkovMatrix(n)) { s = " not"; } System.out.println("It is" + s + " a Markov matrix"); } public static boolean isMarkovMatrix(double[][] m) { for (int i = 0; i < m.length; i++) { double sum = 0; for (int j = 0; j < m.length; j++) { if (m[j][i] < 0) { return false; } sum += m[j][i]; } if (sum != 1.0) { return false; } } return true; } }
c++ please
ReplyDelete