JAVa编写程序,建立并输出一个10*10的矩阵怎么做

JAVa编写程序,建立并输出一个10*10的矩阵怎么做,第1张

没看到你的图,试核肢试下面这个是不是你想要的:

#include

int main()

{

int i ,j

int a[10][10]

for(i=0i<10i++)

for(j=0j<10j++)

{

a[i][j]=0

if(i==(9-j)&&j==(9-i))a[i][j]=1

if(i==j)a[i][j]=1

}

for(i=0i<10i++)

{

for(j=0j<10j++)

{

printf("%i "改橡世如缺,a[i][j])

}

printf("\n")

}

getch()

}

/**

 * 矩阵:由 m × n 个数Aij排成的m行n列的数表称为m行n列的矩阵,简称m × n矩阵

 * 说白了就是一个二维数组,下面的程序用整形作为数据类型,其他类型运算大同小异

 * 

 */

public class MatrixUtils {

    /**

     * 矩阵运算:加(减法与之类似)

   姿好  */

    public static int[][] matrixAdd(int[][] addend, int[][] summand) {

      逗凳  if (addend == null || addend.length == 0) {

            throw new IllegalArgumentException("addend matrix is empty!")

        }

        if (summand == null || summand.length == 0) {

            throw new IllegalArgumentException("summand matrix is empty!")

        }

        //矩阵加减要求两个矩阵类型一致,即行列数相同

        int row = addend.length

        int col = addend[0].length

        if (row != summand.length || col != summand[0].length) {

            throw new IllegalArgumentException("summand and summand not the same type!")

        }

        int[][] sum = new int[row][col]

        for (int i = 0 i < row i++) {

            for (int j = 0 j < col j++) {

                sum[i][j] = addend[i][j] + summand[i][j]

                // sum[i][j] = addend[i][j] - summand[i][j] //减法

            }

        }

        return sum

    }

    /**

     * 矩阵运算:乘法,没找到除法的运算规则

     */

    public static int[][] matrixMultiply(int[][] addend, int[][] summand) {

        if (addend == null || addend.length == 0) {

            throw new IllegalArgumentException("addend matrix is empty!")

        }

        if (summand == null || summand.length == 0) {

            throw new IllegalArgumentException("summand matrix is empty!")

        }

        //两个矩阵的乘法仅当第一个矩阵A的列数和另一个矩阵B的行数相等时才能定义。如A是m×n矩阵和B是n×p矩阵,它们的乘积C是一个m×p矩阵 

        int row = addend.length

        int col = summand[0].length

        if (addend[0].length != summand.length) {

            throw new IllegalArgumentException("summand and summand not the same type!")

        } 

        int[][] sum = new int[row][col]

        for (int i = 0 i < row i++) {

            for (int j = 0 j < col j++) {

                for (int z = 0 z < addend[0].length z++) {

                    sum[i][j] += addend[i][z] * summand[z][j]

                    System.out.println("sum[" + i+  "山册旅]["+ j+"]= " + sum[i][j])

                }

            }

        }

        return sum

    }

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12380451.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存