主要是考线代的矩阵乘法,你要是学了线代,会发现做个矩阵乘法还是不难的;
但是这个题让你用二级指针,笨笨的我不会用二级指针,于是偷偷的通了一下vector,这样可以能过,但是你虽然用自己直接定义的二维数组也能过,但是这俩有很不同的意义;因为前提是你不知道这个数组有多大;
主要是来讲解一下这个vector的二维形式;vector<vector<int>> v(r, vector<int>(c, 0));,大概就是这样申请内存空间,其实是赋值操作,相当于一个vector的 vector<int>v(n+10,0);最好多申请几个;以免以后使用的时候越界;
下面是这个题AC的代码;
#include <iostream>
using namespace std;
#include <iomanip>
#include <vector>
class Jz
{
public:
int row;
int column;
vector<vector<int>>mat;
public:
Jz(vector<vector<int>>m,int r,int c)
{
//vector<vector<int>>mat(r,vector<int>(c+1,0));
mat=m