codeffect
11-13-2007, 06:32 PM
#include<iostream>
using namespace std;
class vect
{
float v[3];
public:
vect()
{
for(int i=0;i<3;i++)
v[i]=0;
}
vect(float t[])
{
for(int i=0;i<3;i++)
v[i]=t[i];
}
void affiche()
{
for(int i=0;i<3;i++)
cout<<v[i]<<" ";
cout<<endl;
}
friend vect mat::pmv(vect);
}; //fin class vect
class mat
{
float m[3][3];
public :
mat(){
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
m[i][j]=0;
}
mat(float t[3][3]){
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
m[i][j]=t[i][j];
}
void affiche()
{
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
cout<<m[i][j]<<" ";
cout<<endl;
}
}
vect pmv(vect p)
{
vect res;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
res.v[i]+=(m[i][j])*(p.v[j]);
return res;
}
};//end class Mat
void main()
{
float t[]={1,2,3};
vect x(t);
float b[3][3]={{1,2,3},{4,5,6},{7,8,9}};
mat y(b);
x.affiche();
y.affiche();
vect r=y.pmv(x);
r.affiche();
}
/* i keep getting this error : error C2653: 'mat' : is not a class or namespace name*/
using namespace std;
class vect
{
float v[3];
public:
vect()
{
for(int i=0;i<3;i++)
v[i]=0;
}
vect(float t[])
{
for(int i=0;i<3;i++)
v[i]=t[i];
}
void affiche()
{
for(int i=0;i<3;i++)
cout<<v[i]<<" ";
cout<<endl;
}
friend vect mat::pmv(vect);
}; //fin class vect
class mat
{
float m[3][3];
public :
mat(){
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
m[i][j]=0;
}
mat(float t[3][3]){
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
m[i][j]=t[i][j];
}
void affiche()
{
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
cout<<m[i][j]<<" ";
cout<<endl;
}
}
vect pmv(vect p)
{
vect res;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
res.v[i]+=(m[i][j])*(p.v[j]);
return res;
}
};//end class Mat
void main()
{
float t[]={1,2,3};
vect x(t);
float b[3][3]={{1,2,3},{4,5,6},{7,8,9}};
mat y(b);
x.affiche();
y.affiche();
vect r=y.pmv(x);
r.affiche();
}
/* i keep getting this error : error C2653: 'mat' : is not a class or namespace name*/