JAVA--第四周实验--任务4--求矩阵元素相乘(编程思想)
来源:互联网 发布:水电设计软件 编辑:程序博客网 时间:2024/05/16 06:39
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:求矩阵元素相乘 * 算法提示:(1)用二维数组表示矩阵,实现矩阵乘法。 * 算法提示:(2)如C=A*B,要考虑矩阵相乘的规则,即A矩阵和B矩阵是任意的, * 算法提示:(3)C矩阵的产生是自动的(C的行数和列数要自动判断生成?怎样得到C矩阵的的行数和列数?) * 作 者: 雷恒鑫 * 完成日期: 2012 年 09 月 20 日 * 版 本 号: V1.0 * 对任务及求解方法的描述部分 * 输入描述: * 问题描述: * 程序输出: * 程序头部的注释结束 */public class Task_four {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubint[][] a={{1,1},{2,0}};//自己定义矩阵int[][] b={{0,2,3},{1,1,2}};//自己定义矩阵printMatrix(a,b);}static void printMatrix(int[][] a,int[][] b){//1.要判断矩阵能否相乘,能相乘继续,不能相乘给出提示为什么不能相乘int sum=0;for(int i = 0;i<a.length;++i){if(a[i].length!=b.length){System.out.println("因为a数组与b数组不同,所以不能相乘!");//System.out.println("因为a数组第"+i+"行与b数组第i行元素个数不同,所以不能相乘!");return;}}//2.得到C矩阵的行数和列数,以产生C矩阵int[][] c = new int[a.length][b[0].length];//3.输出结果矩阵C的值System.out.println("按二维方式输出C矩阵:");for(int i = 0;i <a.length;++i){for(int j = 0;j <b[0].length;++j){sum =0;for(int m = 0;m <a[0].length;++m){//for(int k = 0;m <a[0].length;++m)sum = sum+a[i][m]*b[m][j];//System.out.print(c[i][j]+" ");}c[i][j] = sum;System.out.print(c[i][j]+" ");}System.out.println();}System.out.println();}}
运行结果:
下面是错误的程序,大家不要看。
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:求矩阵元素相乘 * 算法提示:(1)用二维数组表示矩阵,实现矩阵乘法。 * 算法提示:(2)如C=A*B,要考虑矩阵相乘的规则,即A矩阵和B矩阵是任意的, * 算法提示:(3)C矩阵的产生是自动的(C的行数和列数要自动判断生成?怎样得到C矩阵的的行数和列数?) * 作 者: 雷恒鑫 * 完成日期: 2012 年 09 月 20 日 * 版 本 号: V1.0 * 对任务及求解方法的描述部分 * 输入描述: * 问题描述: * 程序输出: * 程序头部的注释结束 */public class Task_two {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubint[][] a={{11,4,5,6},{7,2,10,11},{8,9,12,3}};//自己定义矩阵int[][] b={{3,6,8,7},{5,6,7,8},{4,2,3,4}};//自己定义矩阵printMatrix(a,b);}static void printMatrix(int[][] a,int[][] b){//1.要判断矩阵能否相乘,能相乘继续,不能相乘给出提示为什么不能相乘if((a.length==b.length)){for(int i = 0;i<a.length;++i){if(a[i].length!=b[i].length){System.out.println("因为a数组第"+i+"行与b数组第i行元素个数不同,所以不能相乘!");return;}}}else{System.out.println("因为a数组与b数组列数不同,所以不能相乘!");return;}//2.得到C矩阵的行数和列数,以产生C矩阵int[][] c = new int[a.length][];//3.输出结果矩阵C的值System.out.println("按二维方式输出C矩阵:");for(int i = 0;i <a.length;++i){for(int j = 0;j <a[i].length;++j){c[i]= new int[a[i].length];c[i][j] = a[i][j]*b[i][j];System.out.print(c[i][j]+" ");}System.out.println();}System.out.println();}}
运行结果:
下面是关于矩阵乘法的一些链接:
百度百科:矩阵乘法
百度文库:矩
- JAVA--第四周实验--任务4--求矩阵元素相乘(编程思想)
- JAVA--第四周实验--任务3--求矩阵元素换位。(编程思想)
- JAVA--第四周实验--任务2--求任意整数降序数的程序。(编程思想)
- JAVA--第四周实验--任务1--编写应用程序,求1000之内的所有完数。(编程思想)
- 第四周实验报告(任务4)
- Java编程第四周实验报告4
- 第四周实验报告任务4
- 《第四周实验报告任务4》
- 第四周实验报告(任务1)
- 第四周实验报告(任务一)
- 第四周实验报告(任务三)
- 第四周实验报告(任务2)
- 第四周实验报告(任务3)
- 第四周实验报告(任务二)
- Java编程第四周实验报告1
- Java编程第四周实验报告2
- Java编程第四周实验报告3
- JAVA--第3周实验--任务2--实现二维数组的一种加法运算(编程思想)
- hdu_4289
- hdu 1117 Big Event in HDU(多重背包)
- 构建插件式的应用法度框架 [转载]
- sqlserver数据库的备份
- HDU 1518 Square
- JAVA--第四周实验--任务4--求矩阵元素相乘(编程思想)
- 初步用户注册页面(完结)
- 七夕,情无处投递
- Java堆和栈的区别
- 老调重弹:年龄大了,码农何去何从
- 山区行
- 并查集(disjoint-set forests)
- dfs+剪枝
- 仿微信聊天气泡效果实现