當前位置:編程學習大全網 - 源碼下載 - 矩陣系統源代碼構造

矩陣系統源代碼構造

寫起來有點煩,不過可以理解:

#包含?& 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);

}

  • 上一篇:Redmi路由器AC2100之Openwrt旁路由設置
  • 下一篇:Python編譯器推薦
  • copyright 2024編程學習大全網