herrDeng網內搜尋

自訂搜尋

Ads

2017年5月9日 星期二

C++矩陣乘法

14 則留言:

B10333064王韻菱 提到...

#include <iostream>
#include <cstdlib>
#include <random>
#include <ctime>
#include <iomanip>
using namespace std;
mt19937 gen;
uniform_real_distribution<double> X;
void gen_matrix( double** a, int m, int n){
// a = new double*[m];
for (int i=0 ; i<m ; i++)
{
a[i] = new double[n];
for (int j=0 ; j<n ; j++)
{
a[i][j]=X(gen);
cout <<setw(15)<<setprecision(10)<<a[i][j];
}
cout<<endl;
}
}
void del_matrix( double** a, int m){
for( int i=0; i<m; i++)
delete [] a[i];
delete [] a;
a=NULL;
cout << "deleted\n";
}
void matrix_mul(double** a, double** b, double** c, int m, int n, int p){
// c = new double*[m];
for (int i=0 ; i<m ; i++)
{
c[i] = new double[n];
for (int j=0 ; j<n; j++)
{
c[i][j]=0;
for(int k=0; k<p; k++)
c[i][j]+=a[i][k]*b[k][j];
cout <<setw(15)<<setprecision(10)<<c[i][j];
}
cout<<endl;
}

}
int main( )
{
gen= mt19937(clock());
X = uniform_real_distribution<double>(0, 10);
double **a=new double*[3], **b=new double*[4];
cout<<"a=\n";
gen_matrix( a, 3, 4);
cout<<"==================\nb=\n";
gen_matrix( b, 4, 3);
cout<<"==================\nc=a*b=\n";
double **c = new double*[3];
matrix_mul(a, b, c, 3, 3, 4);
del_matrix(a, 3);
del_matrix(b, 4);
del_matrix(c, 3);
system("Pause");
return 0;
}

B10333106 劉郁芃 提到...

#include <iostream>
#include <cstdlib>
#include <random>
#include <ctime>
#include <iomanip>
using namespace std;
mt19937 gen;
uniform_real_distribution<double> X;
void gen_matrix( double** a, int m, int n){
// a = new double*[m];
for (int i=0 ; i<m ; i++)
{
a[i] = new double[n];
for (int j=0 ; j<n ; j++)
{
a[i][j]=X(gen);
cout <<setw(15)<<setprecision(10)<<a[i][j];
}
cout<<endl;
}
}
void del_matrix( double** a, int m){
for( int i=0; i<m; i++)
delete [] a[i];
delete [] a;
a=NULL;
cout << "deleted\n";
}
void matrix_mul(double** a, double** b, double** c, int m, int n, int p){
// c = new double*[m];
for (int i=0 ; i<m ; i++)
{
c[i] = new double[n];
for (int j=0 ; j<n; j++)
{
c[i][j]=0;
for(int k=0; k<p; k++)
c[i][j]+=a[i][k]*b[k][j];
cout <<setw(15)<<setprecision(10)<<c[i][j];
}
cout<<endl;
}

}
int main( )
{
gen= mt19937(clock());
X = uniform_real_distribution<double>(0, 10);
double **a=new double*[3], **b=new double*[4];
cout<<"a=\n";
gen_matrix( a, 3, 4);
cout<<"==================\nb=\n";
gen_matrix( b, 4, 3);
cout<<"==================\nc=a*b=\n";
double **c = new double*[3];
matrix_mul(a, b, c, 3, 3, 4);
del_matrix(a, 3);
del_matrix(b, 4);
del_matrix(c, 3);
system("Pause");
return 0;
}

B10333055 翁恩義 提到...

#include <iostream>
#include <cstdlib>
#include <random>
#include <ctime>
#include <iomanip>
using namespace std;
mt19937 gen;
uniform_real_distribution<double> X;
void gen_matrix( double** a, int m, int n){
// a = new double*[m];
for (int i=0 ; i<m ; i++)
{
a[i] = new double[n];
for (int j=0 ; j<n ; j++)
{
a[i][j]=X(gen);
cout <<setw(15)<<setprecision(10)<<a[i][j];
}
cout<<endl;
}
}
void del_matrix( double** a, int m){
for( int i=0; i<m; i++)
delete [] a[i];
delete [] a;
a=NULL;
cout << "deleted\n";
}
void matrix_mul(double** a, double** b, double** c, int m, int n, int p){
// c = new double*[m];
for (int i=0 ; i<m ; i++)
{
c[i] = new double[n];
for (int j=0 ; j<n; j++)
{
c[i][j]=0;
for(int k=0; k<p; k++)
c[i][j]+=a[i][k]*b[k][j];
cout <<setw(15)<<setprecision(10)<<c[i][j];
}
cout<<endl;
}

}
int main( )
{
gen= mt19937(clock());
X = uniform_real_distribution<double>(0, 10);
double **a=new double*[3], **b=new double*[4];
cout<<"a=\n";
gen_matrix( a, 3, 4);
cout<<"==================\nb=\n";
gen_matrix( b, 4, 3);
cout<<"==================\nc=a*b=\n";
double **c = new double*[3];
matrix_mul(a, b, c, 3, 3, 4);
del_matrix(a, 3);
del_matrix(b, 4);
del_matrix(c, 3);
system("Pause");
return 0;
}

B10333005 提到...

#include <iostream>
#include <random>
#include <ctime>
using namespace std;

class person{
double height,weight;
public:
person(){}
person(double height,double weight){
this->height=height;
this->weight=weight;
}
double bmi(){
return 10000*weight/height/height;
}
void print(int i){
cout<<i<<":\t";
cout<<"height="<<height<<"\t";
cout<<"weight="<<weight<<"\t";
cout<<"bmi="<<bmi()<<endl;
}
};

int main()
{
person X[30];
mt19937_64 gen(clock());
normal_distribution<double> dis0(163, 7);
normal_distribution<double> dis1(55, 5);
for(int i=0;i<30;i++){
double h=dis0(gen);
double w=dis0(gen);
X[i]=person(h,w);
X[i].print(i);
}
return 0;
}

B10333027 提到...

#include <iostream>
#include <random>
#include <ctime>
using namespace std;

class person{
double height,weight;
public:
person(){}
person(double height,double weight){
this->height=height;
this->weight=weight;
}
double bmi(){
return 10000*weight/height/height;
}
void print(int i){
cout<<i<<":\t";
cout<<"height="<<height<<"\t";
cout<<"weight="<<weight<<"\t";
cout<<"bmi="<<bmi()<<endl;
}
};

int main()
{
person X[30];
mt19937_64 gen(clock());
normal_distribution<double> dis0(163, 7);
normal_distribution<double> dis1(55, 5);
for(int i=0;i<30;i++){
double h=dis0(gen);
double w=dis0(gen);
X[i]=person(h,w);
X[i].print(i);
}
return 0;
}

B10333086 陳晏堂 提到...

#include <iostream>
#include <cstdlib>
#include <random>
#include <ctime>
#include <iomanip>
using namespace std;
mt19937 gen;
uniform_real_distribution<double> X;
void gen_matrix( double** a, int m, int n){
// a = new double*[m];
for (int i=0 ; i<m ; i++)
{
a[i] = new double[n];
for (int j=0 ; j<n ; j++)
{
a[i][j]=X(gen);
cout <<setw(15)<<setprecision(10)<<a[i][j];
}
cout<<endl;
}
}
void del_matrix( double** a, int m){
for( int i=0; i<m; i++)
delete [] a[i];
delete [] a;
a=NULL;
cout << "deleted\n";
}
void matrix_mul(double** a, double** b, double** c, int m, int n, int p){
// c = new double*[m];
for (int i=0 ; i<m ; i++)
{
c[i] = new double[n];
for (int j=0 ; j<n; j++)
{
c[i][j]=0;
for(int k=0; k<p; k++)
c[i][j]+=a[i][k]*b[k][j];
cout <<setw(15)<<setprecision(10)<<c[i][j];
}
cout<<endl;
}

}
int main( )
{
gen= mt19937(clock());
X = uniform_real_distribution<double>(0, 10);
double **a=new double*[3], **b=new double*[4];
cout<<"a=\n";
gen_matrix( a, 3, 4);
cout<<"==================\nb=\n";
gen_matrix( b, 4, 3);
cout<<"==================\nc=a*b=\n";
double **c = new double*[3];
matrix_mul(a, b, c, 3, 3, 4);
del_matrix(a, 3);
del_matrix(b, 4);
del_matrix(c, 3);
system("Pause");
return 0;
}

b10133187 楊鈞文 提到...

#include
#include
#include
using namespace std;

class person{
double height, weight;
public:
person(){}
person(double height,double weight){
this->height=height;
this->weight=weight;
}
double bmi(){
return 10000*weight/height/height;
}
void print(int i){
cout<<i<<":\t";
cout<<"height="<<height<<"\t";
cout<<"height="<<height<<"\t";
cout<<"bmi="<<bmi()<<endl;
}
};

int main()
{
person x[30];
mt19937_64 gen(clock());
normal_distribution<double>dis0(163,7);
normal_distribution<double>dis1(55,5);
for(int i=0;i<30; i++){
double h=dis0(gen);
double w=dis1(gen);
x[i]=person(h,w);
x[i].print(i);

}
}

b10133187 楊鈞文 提到...

#include
#include
#include
using namespace std;

class person{
double height, weight;
public:
person(){}
person(double height,double weight){
this->height=height;
this->weight=weight;
}
double bmi(){
return 10000*weight/height/height;
}
void print(int i){
cout<<i<<":\t";
cout<<"height="<<height<<"\t";
cout<<"height="<<height<<"\t";
cout<<"bmi="<<bmi()<<endl;
}
};

int main()
{
person x[30];
mt19937_64 gen(clock());
normal_distribution<double>dis0(163,7);
normal_distribution<double>dis1(55,5);
for(int i=0;i<30; i++){
double h=dis0(gen);
double w=dis1(gen);
x[i]=person(h,w);
x[i].print(i);

}
}

B10333077潘家銘 提到...

#include
#include
#include
using namespace std;

class person{
double height, weight;
public:
person(){}
person(double height,double weight){
this->height=height;
this->weight=weight;
}
double bmi(){
return 10000*weight/height/height;
}
void print(int i){
cout<<i<<":\t";
cout<<"height="<<height<<"\t";
cout<<"height="<<height<<"\t";
cout<<"bmi="<<bmi()<<endl;
}
};

int main()
{
person x[30];
mt19937_64 gen(clock());
normal_distribution<double>dis0(163,7);
normal_distribution<double>dis1(55,5);
for(int i=0;i<30; i++){
double h=dis0(gen);
double w=dis1(gen);
x[i]=person(h,w);
x[i].print(i);

}
}

B10333063羅胤銓 提到...

#include <iostream>
#include <cstdlib>
#include <random>
#include <ctime>
#include <iomanip>
using namespace std;
mt19937 gen;
uniform_real_distribution<double> X;
void gen_matrix( double** a, int m, int n){
// a = new double*[m];
for (int i=0 ; i<m ; i++)
{
a[i] = new double[n];
for (int j=0 ; j<n ; j++)
{
a[i][j]=X(gen);
cout <<setw(15)<<setprecision(10)<<a[i][j];
}
cout<<endl;
}
}
void del_matrix( double** a, int m){
for( int i=0; i<m; i++)
delete [] a[i];
delete [] a;
a=NULL;
cout << "deleted\n";
}
void matrix_mul(double** a, double** b, double** c, int m, int n, int p){
// c = new double*[m];
for (int i=0 ; i<m ; i++)
{
c[i] = new double[n];
for (int j=0 ; j<n; j++)
{
c[i][j]=0;
for(int k=0; k<p; k++)
c[i][j]+=a[i][k]*b[k][j];
cout <<setw(15)<<setprecision(10)<<c[i][j];
}
cout<<endl;
}

}
int main( )
{
gen= mt19937(clock());
X = uniform_real_distribution<double>(0, 10);
double **a=new double*[3], **b=new double*[4];
cout<<"a=\n";
gen_matrix( a, 3, 4);
cout<<"==================\nb=\n";
gen_matrix( b, 4, 3);
cout<<"==================\nc=a*b=\n";
double **c = new double*[3];
matrix_mul(a, b, c, 3, 3, 4);
del_matrix(a, 3);
del_matrix(b, 4);
del_matrix(c, 3);
system("Pause");
return 0;
}

b10233032謝翔宇 提到...

#include
#include
#include
using namespace std;

class person{
double height, weight;
public:
person(){}
person(double height,double weight){
this->height=height;
this->weight=weight;
}
double bmi(){
return 10000*weight/height/height;
}
void print(int i){
cout<<i<<":\t";
cout<<"height="<<height<<"\t";
cout<<"height="<<height<<"\t";
cout<<"bmi="<<bmi()<<endl;
}
};

int main()
{
person x[30];
mt19937_64 gen(clock());
normal_distribution<double>dis0(163,7);
normal_distribution<double>dis1(55,5);
for(int i=0;i<30; i++){
double h=dis0(gen);
double w=dis1(gen);
x[i]=person(h,w);
x[i].print(i);

}
}

B10333053 梁竣翔 提到...

#include
#include
#include
using namespace std;

class person{
double height, weight;
public:
person(){}
person(double height,double weight){
this->height=height;
this->weight=weight;
}
double bmi(){
return 10000*weight/height/height;
}
void print(int i){
cout<<i<<":\t";
cout<<"height="<<height<<"\t";
cout<<"height="<<height<<"\t";
cout<<"bmi="<<bmi()<<endl;
}
};

int main()
{
person x[30];
mt19937_64 gen(clock());
normal_distribution<double>dis0(163,7);
normal_distribution<double>dis1(55,5);
for(int i=0;i<30; i++){
double h=dis0(gen);
double w=dis1(gen);
x[i]=person(h,w);
x[i].print(i);

}
}

B10333072 黃玟茜 提到...

#include
#include
#include
#include
#include
using namespace std;
mt19937 gen;
uniform_real_distribution X;
void gen_matrix( double** a, int m, int n){
// a = new double*[m];
for (int i=0 ; i(0, 10);
double **a=new double*[3], **b=new double*[4];
cout<<"a=\n";
gen_matrix( a, 3, 4);
cout<<"==================\nb=\n";
gen_matrix( b, 4, 3);
cout<<"==================\nc=a*b=\n";
double **c = new double*[3];
matrix_mul(a, b, c, 3, 3, 4);
del_matrix(a, 3);
del_matrix(b, 4);
del_matrix(c, 3);
system("Pause");
return 0;
}

b10333083周琬芸 提到...

#include <iostream>
#include <cstdlib>
#include <random>
#include <ctime>
#include <iomanip>
using namespace std;
mt19937 gen;
uniform_real_distribution<double> X;
void gen_matrix( double** a, int m, int n){
// a = new double*[m];
for (int i=0 ; i<m ; i++)
{
a[i] = new double[n];
for (int j=0 ; j<n ; j++)
{
a[i][j]=X(gen);
cout <<setw(15)<<setprecision(10)<<a[i][j];
}
cout<<endl;
}
}
void del_matrix( double** a, int m){
for( int i=0; i<m; i++)
delete [] a[i];
delete [] a;
a=NULL;
cout << "deleted\n";
}
void matrix_mul(double** a, double** b, double** c, int m, int n, int p){
// c = new double*[m];
for (int i=0 ; i<m ; i++)
{
c[i] = new double[n];
for (int j=0 ; j<n; j++)
{
c[i][j]=0;
for(int k=0; k<p; k++)
c[i][j]+=a[i][k]*b[k][j];
cout <<setw(15)<<setprecision(10)<<c[i][j];
}
cout<<endl;
}

}
int main( )
{
gen= mt19937(clock());
X = uniform_real_distribution<double>(0, 10);
double **a=new double*[3], **b=new double*[4];
cout<<"a=\n";
gen_matrix( a, 3, 4);
cout<<"==================\nb=\n";
gen_matrix( b, 4, 3);
cout<<"==================\nc=a*b=\n";
double **c = new double*[3];
matrix_mul(a, b, c, 3, 3, 4);
del_matrix(a, 3);
del_matrix(b, 4);
del_matrix(c, 3);
system("Pause");
return 0;
}

Related Posts Plugin for WordPress, Blogger...

熱門文章