4、有2个多维数组分别是 int[][]a={{2,3,4},{4,6,8}} 和 int[][]b={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}}
按照如下方式进行运算。生成一个2行4列的数组。此数组的第1行1列是2*1+3*5+4*2第1行2列是2*5+3*9+4*7
第2行1列是4*1+6*5+8*2 依次类推。
(知识点:多维数组定义和创建、数组遍历、数组元素访问) [选作题]
//java 写的
public static void matrixMultiplication(){
int[][]a={{2,3,4},{4,6,8}};
int[][]b={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};
int[][]c = new int[a.length][b[1].length];
for (int i = 0; i < a.length; i++) { //控制计算的行数
for (int j = 0; j < b[1].length; j++) { //控制计算的列数
c[i][j] = 0;
for(int k = 0;k < a[i].length; k++){ // 控制计算的数
c[i][j] += a[i][k]*b[k][j]; //计算数据
}
}
}
for (int i = 0; i < c.length; i++) {
for (int j = 0; j < c[i].length; j++) {
System.out.print(c[i][j] + "\t");
}
System.out.println();
}
}
测试结果
25 65 14 -65
50 130 28 -130
c++写的,拿去吧,顺便提一下,这是矩阵的乘法运算,如果还没学可以了解一下,很有意思的,望采纳!
#include <iostream>
using namespace std;
int main(){
int a[2][3]={{2,3,4},{4,6,8}};
int b[3][4]={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};
int c[4][3]={0};
for(int i=0;i<2;i++){
for(int j=0;j<4;j++){
for(int k=0;k<3;k++){
c[i][j]+=(a[i][k]*b[k][j]);
}
}
}
for (int i=0;i<2;i++){
for (int j=0;j<4;j++){
cout<<c[i][j]<<"\t";
}
cout<<endl;
}
}
http://blog.csdn.net/u012734723/article/details/72821088
上面结果矩阵c维度写错了,不好意思,看这个:
#include <iostream>
using namespace std;
int main(){
int a[2][3]={{2,3,4},{4,6,8}};
int b[3][4]={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};
int c[2][4]={0};
for(int i=0;i<2;i++){
for(int j=0;j<4;j++){
for(int k=0;k<3;k++){
c[i][j]+=(a[i][k]*b[k][j]);
}
}
}
for (int i=0;i<2;i++){
for (int j=0;j<4;j++){
cout<<c[i][j]<<"\t";
}
cout<<endl;
}
}