C++ 中的矩阵演算 - 矩阵与向量的乘积
使用命名空间 std;
#include
#include
#include
int * product (int **M, int *V, int N)
{
int *Vp = 新 int[N];
for(int i = 0跨度>;我
Vp[i]=0;
for(int i = 0跨度>;我
for(int j = 0跨度>;J
Vp[i] += M[i][j] * V[j];
}
返回 Vp;
}
void display(int **Mat, int N, int M){
for(int i = 0跨度>;我
for(int j = 0跨度>;J
成本<<马特[i][j];
成本<<\t”跨度>;
}
成本<<\n”跨度>;
}
成本<<\n”跨度>;
}
int main(int argc, char *argv[])
{
int n=3跨度>;
int** M = new int* [ n ];
for (int i=0跨度>;我
M[i] = 新 int[ n ];
srand(时间(NULL));
for(int i=0跨度>;我
for(int j=0跨度>;J
M[i][j] =rand()%10跨度>;
显示(M,n,n);
int V[3] = {2,6,3跨度>};
成本<<\n V = [ ”跨度>;
for(int i = 0跨度>;我
成本<<”跨度><”跨度>;
成本<< ] ”跨度>;
int *Vp = 乘积(M,V,n);
成本<< \n Vp = [ ”跨度>;
for(int 我= 0跨度>;我
成本<< ”跨度><”跨度>;
成本<< ]跨度>;
system(pause”);
}
#include
#include
#include
int * product (int **M, int *V, int N)
{
int *Vp = 新 int[N];
for(int i = 0跨度>;我
Vp[i]=0;
for(int i = 0跨度>;我
for(int j = 0跨度>;J
Vp[i] += M[i][j] * V[j];
}
返回 Vp;
}
void display(int **Mat, int N, int M){
for(int i = 0跨度>;我
for(int j = 0跨度>;J
成本<<马特[i][j];
成本<<\t”跨度>;
}
成本<<\n”跨度>;
}
成本<<\n”跨度>;
}
int main(int argc, char *argv[])
{
int n=3跨度>;
int** M = new int* [ n ];
for (int i=0跨度>;我
M[i] = 新 int[ n ];
srand(时间(NULL));
for(int i=0跨度>;我
for(int j=0跨度>;J
M[i][j] =rand()%10跨度>;
显示(M,n,n);
int V[3] = {2,6,3跨度>};
成本<<\n V = [ ”跨度>;
for(int i = 0跨度>;我
成本<<”跨度><
成本<< ] ”跨度>;
int *Vp = 乘积(M,V,n);
成本<< \n Vp = [ ”跨度>;
for(int 我= 0跨度>;我
成本<< ”跨度><
成本<< ]跨度>;
system(pause”);
}