不等规模二维数组相乘
来源:互联网 发布:a站凉了知乎 编辑:程序博客网 时间:2024/05/06 23:59
/*建立一个类 SUM,实现 m 行 k 列矩阵与 k 行 n 列矩阵的乘积。设 A 为 m 行 k 列的矩阵,B 为 k 行 n 列的矩阵,则 C=A×B。具体要求如下: const int m=3; const int k=4; const int n=3;(1) 私有数据成员 int A[m][k]:存放 m 行 k 列矩阵。 int B[k][n]:存放 k 行 n 列矩阵 int (*C)[n]:指向乘积矩阵(2) 公有成员函数 构造函数:初始化成员数据。 析构函数:收回行指针。 void process():求矩阵的乘积。 void print():输出各二维数组(按行列形式)。(3) 在主程序中对该类进行测试。*/#include<iostream>using namespace std;const int m = 3;const int k = 4;const int n = 3;class SUM{private: int A[m][k]; int B[k][n]; int(*C)[n];public: SUM(int(*p1)[4], int(*p2)[3]); void process(); void print(); ~SUM();};SUM::SUM(int(*p1)[4], int(*p2)[3]){ for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { A[i][j] = *(*(p1 + 0) + j); } p1++; } for (int i = 0; i < 4; i++) { for (int j = 0; j < 3; j++) { B[i][j] = *(*(p2 + 0) + j); } p2++; } C = new int[4][3];}void SUM::process(){ //将二维数组转换为一维数组 int aa[12], bb[12]; int count_a = 0, count_b = 0; for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { aa[count_a] = A[i][j]; count_a++; } } for (int i = 0; i < 4; i++) { for (int j = 0; j < 3; j++) { bb[count_b] = B[i][j]; count_b++; } } //将一维数组相乘 int(*CC)[3]; CC = C; for (int i = 0; i < 12; i++) { if (i % 3 == 0 && i != 0) CC++; *(*(CC + 0) + (i % 3)) = aa[i] * bb[i]; }}void SUM::print(){ for (int i = 0; i < 4; i++) { for (int j = 0; j < 3; j++) { cout << C[i][j] << '\t'; } cout << endl; }}SUM::~SUM(){ delete[]C;}int main(){ int cc[3][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12} }; int dd[4][3] = { {1,2,3},{4,5,6},{7,8,9},{10,11,12} }; SUM test(cc, dd); test.process(); test.print(); system("pause"); return 0;}
阅读全文
0 0
- 不等规模二维数组相乘
- 不等长的二维数组
- 二维数组 矩阵相乘
- java ArrayList 套数组,二维不等长数组
- MFC打开txt文件并读取二维不等列数组
- 二维数组求和,,,针对键名数量不等的情况
- Java多线程实现二维数组相乘
- C语言动态二维数组实现矩阵的相乘
- 将对称矩阵压缩存储,实现矩阵相乘,输出相乘后结果(用二维数组)
- 用java实现从控制台获取多行不等长数据到一个二维数组
- 从控制台获取多行不等长数据到一个二维数组
- 数组相乘
- 第6章_数组_编程练习_Exercise6_25(二维数组的相乘)
- 二维矩阵实现矩阵相乘
- 数组::矩阵相乘
- 数组实现大数相乘
- 大数相乘,数组
- C#数组相乘
- 修改tomcat端口号(tomcat端口号与其他应用冲突)
- Redis学习之redis.conf 配置项说明
- JAX-RS (REST Web Services) 2.0 requires Java 1.6 or newer.
- 01trie树 HDU 5536Chip Factory
- Js_Dom(1)__Dom基础<对象和document>
- 不等规模二维数组相乘
- 二级指针
- 21.Scala中的偏函数实战详解
- 起
- Day 14 : 噩梦的一天
- vue.js基础-构造器
- 数组
- hdu 多校联赛 Rikka with Competition
- 管理数据库