package com.app.Problem.problem0715;
/**
* Explain:给出一个矩阵,对其进行转置操作
*
* @author Administrator
*
*/
public class Problem_05 {
public static void main(String[] args) {
int[][] array = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
int[][] prray = arrayOperator(array);
int[][]crray=Mulitply(array,prray);
System.out.println("转置前:");
printArray(array);
System.out.println("转置后:");
printArray(prray);
System.out.println("两个矩阵相乘:");
printArray(crray);
}
/**
* 矩阵的转置操作
*
* @param array
* @return
*/
static int[][] arrayOperator(int[][] array) {
int row = array.length;
int clum = 0;
for (int i = 0; i < array.length; i++) {
clum = array[i].length;
}
int[][] prray = new int[clum][row];
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
prray[j][i] = array[i][j];
}
}
return prray;
}
/**
* 矩阵相乘操作
* @param array
* @param prray
* @return
*/
static int[][] Mulitply(int[][] array, int[][] prray) {
int row = array.length;
int clum=0;
for (int i = 0; i < prray.length; i++) {
clum = prray[i].length;
}
int[][] crray = new int[row][clum];
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
for (int k = 0; k < array[j].length; k++) {
crray[i][k]=crray[i][k]+array[i][j] * prray[j][k];
}
}
}
return crray;
}
static void printArray(int[][] array) {
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();
}
}
}
/**
* Explain:给出一个矩阵,对其进行转置操作
*
* @author Administrator
*
*/
public class Problem_05 {
public static void main(String[] args) {
int[][] array = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
int[][] prray = arrayOperator(array);
int[][]crray=Mulitply(array,prray);
System.out.println("转置前:");
printArray(array);
System.out.println("转置后:");
printArray(prray);
System.out.println("两个矩阵相乘:");
printArray(crray);
}
/**
* 矩阵的转置操作
*
* @param array
* @return
*/
static int[][] arrayOperator(int[][] array) {
int row = array.length;
int clum = 0;
for (int i = 0; i < array.length; i++) {
clum = array[i].length;
}
int[][] prray = new int[clum][row];
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
prray[j][i] = array[i][j];
}
}
return prray;
}
/**
* 矩阵相乘操作
* @param array
* @param prray
* @return
*/
static int[][] Mulitply(int[][] array, int[][] prray) {
int row = array.length;
int clum=0;
for (int i = 0; i < prray.length; i++) {
clum = prray[i].length;
}
int[][] crray = new int[row][clum];
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
for (int k = 0; k < array[j].length; k++) {
crray[i][k]=crray[i][k]+array[i][j] * prray[j][k];
}
}
}
return crray;
}
static void printArray(int[][] array) {
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();
}
}
}