#包含?& ltiostream & gt
#包含?& ltvector & gt
#包含?& lt算法& gt
#包含?& ltstdio.h & gt
#包含?& ltstring.h & gt
使用?命名空間?std
typedef?向量& lt向量& ltint & gt?& gt?矩陣;
typedef?向量& ltint & gt?排;
作廢?GetMatrix(matrix & amp;?m)
{
劃?tmp
int?n;
size_t?尺寸?=?0;
while(cin.peek()?!=?'#')
{
CIN . unsetf(IOs::skip ws);
而(cin?& amp& amp?cin.peek()?!=?\n ')
{
while(cin.peek()?==?'?')
CIN . get();
if(cin.peek()?==?'#')
打破;
cin?& gt& gt?n;
while(cin.peek()?==?'?')
CIN . get();
tmp . push _ back(n);
}
if(cin.peek()?!=?'#')
CIN . get();
如果(!cin)
{
cerr?& lt& lt?“錯誤:?無效?輸入?人物。\ n ";
退出(0);
}
如果(大小?!=?0?& amp& amp?尺寸?!=?tmp.size())
{
cerr?& lt& lt?“錯誤:?參差不齊?矩陣?不是嗎?允許。\ n ";
退出(0);
}
尺寸?=?tmp . size();
m . push _ back(tmp);
tmp . clear();
}
cin.ignore(512,?\ n’);
}
作廢?PrintMatrix(常量?矩陣& amp?m)
{
靜電?夏爾?num[32];
int?麥克斯。=?*max_element(m[0])。begin(),?m[0]。end());
int?n;
for(size_t?我?=?1;?我?& lt?m . size();?++i)
如果(max?& lt?(n?=?*max_element(m[i])。begin(),?m[i]。end()))))
麥克斯。=?n;
sprintf(編號," %d ",max);
cout . setf(IOs::left);
for(size_t?我?=?0;?我?& lt?m . size();?++i)
{
for(size_t?j?=?0;?j?& lt?m[i]。size();?++j)
{
cout . width(strlen(num));
cout?& lt& lt?m[i][j]?& lt& lt?'?';
}
cout?& lt& lt?\ n ';
}
}
作廢?MatrixMul(const?矩陣& amp?m1,?const?矩陣& amp?m2,?矩陣& amp?產品)
{
if(m1[0])。size()?!=?m2.size())
{
cerr?& lt& lt?“候選人?不是嗎?允許。\ n ";
cerr?& lt& lt?“如果?m1?是嗎?答?m?*?n?矩陣?那又怎樣?m2?必須?是嗎?答?n?*?p?矩陣。\ n ";
退出(0);
}
for(size_t?我?=?0;?我?& lt?m 1 . size();?++i)
{
product . push _ back(row());
for(size_t?j?=?0;?j?& lt?m2[0]。size();?++j)
{
產品[i]。push _ back(0);
for(size_t?k?=?0;?k?& lt?m1[0]。size();?++k)
產品[i][j]?+=?m1[i][k]?*?m2[k][j];
}
}
}
int?主()
{
矩陣?m1,?m2,?m3;
cout?& lt& lt?“進入?matrix 1:\ n ";
get matrix(m 1);
cout?& lt& lt?" \ n輸入?matrix 2:\ n ";
get matrix(m2);
MatrixMul(m1,?m2,?m3);
cout?& lt& lt?" \ n \矩陣?1:?"?& lt& lt?m1.size()?& lt& lt?"?×?"& lt& lt?m1[0]。size()?& lt& lt?\ n ';
print matrix(m 1);
cout?& lt& lt?" \ n \矩陣?2:?"?& lt& lt?m2.size()?& lt& lt?"?×?"& lt& lt?m2[0]。size()?& lt& lt?\ n ';
print matrix(m2);
cout?& lt& lt?" \n\nm1?*?m2:?”?& lt& lt?m3.size()?& lt& lt?"?×?"& lt& lt?m3[0]。size()?& lt& lt?\ n ';
print matrix(m3);
}