📄 matrix3_cpp.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>matrix3.cpp</title>
</head>
<body>
<pre>/* matrix3.cpp
Multiplication of matrixes.
Dynamic arrays, optimized.
(C) R.N.Shakirov, IMach of RAS(UB), 1998 - 2000
All Rights Reserved.
*/
#include <fstream.h>
<b>#include "exarray.h"</b>
<b>int scalar (const int* p1, const int *p2, int dim)
{
int sum = 0;
for (int k = 0; k < dim; k++)
sum += p1 [k] * p2 [k];
return sum;
}</b>
int main (int argc, char **argv)
{
if (argc < 3) return 1;
<b>typedef exarray<int> vector;</b>
<b>exarray <vector> m1,m2,m3;</b>
int i,j,k,dim = 0;
// Input
ifstream fin (argv [1]);
if (!fin) return 1;
fin >> dim;
for (i = 0; i < dim; i++)
for (j = 0; j < dim; j++)
fin >> m1 [i] [j];
for (i = 0; i < dim; i++)
for (j = 0; j < dim; j++)
fin >> m2 [j] [i]; <b>// m2 is transposed!</b>
// Multiplication
for (i = 0; i < dim; i++)
for (j = 0; j < dim; j++)
<b>m3 [i] [j] = scalar (m1 [i], m2 [j], dim);</b>
// Output
ofstream fout (argv [2]);
if (!fout) return 1;
for (i = 0; i < dim; i++)
{
for (j = 0; j < dim; j++)
{ fout.width (6); fout << m3 [i] [j]; }
fout << '\n';
}
return 0;
}
</pre>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -