请各位指点!!!!!SOS

blacksteed2 2001-10-27 08:00:05
有个c++程序,谁能帮个忙给看看呀!!问题就是汉字标明处!!!
#include <iostream.h>
#include <stdlib.h>
class Vector
{
public:
Vector(int);
~Vector(){delete[]v;}
Vector(Vector &);
int Size(){return sz;}
void Display();
int & Elem(int);
protected:
int * v;
int sz;
}
Vector::Vector(int s)
{
if(s<=0)
{
cerr<<"bad Vector size.\n";
exit(1);
}
sz=s;
v=new int[s];
}
int & Vector::Elem(int i)
{
if(i<0||sz<=i)
{
cerr<<"Vector index out of range.\n";
exit(1);
}
return v[i];
}
Vector::Vectoer(Vector & vec)
{
v=new int[sz=vec.sz];
memcpy((void*v,(void*)vec.v,sz*sizeof(int));
}
void Vector::Display()
{
for(int i=0;i<sz;i++)
cout<<v[i]<<"";
cout<<endl;
}
class Matrix
{
public:
Matrix(int,int);
Matrix(Matrix &);
~Matrix(){delete[]m;}
int SizeL(){return szl;}
int SizeR(){return szr;}
int & Elem(int,int);
protected:
int * m;
int szl;
int szr;
};
Matrix::Matrix(int i,int j)
{
if (i<=0)||(j<=0)
{
cerr<<"bad Matrix size.\n";
exit(1);
}
szl=i;
szr=j;
m= new int[i*j];
}
Matrix::Matrix(Matrix & mat)
{
szl=mat.szl;
szr=mat.szr;
m= new int[szl*szr]j;
memcpy((void*)m,(void*)mat.m,szl*szr*sizeof(int));
}
int &Matrix::Elem(int i,int j)
{
if(i<0||szl<=i||j<0||szr<=j)
{
cerr<<"Matrix index out of range.\n"
exit(1);
}
return m[i*szr+j];
}
////////////////////////////////////
Vector Multiply(Matrix &m,Vector&v)//为什么要用类名定义函数呢?
{
if(m.SizeR()!=v.Size())
{
cerr<<"bad multiply Matrix with Vector.\n";
exir(1);
}
Vector r(m.SizeL());
for(int i=0;i<m.SizeL();i++)
{
r.Elem(i)=0;
for(int j=0;j<m.SizeR();j++)
r.Elem(i)+=m.Elem(i,j)*v.Elem(j);
}
return r;
}

void main()
{
Matrix ma(4,3)
//复值语句
Vector ve(3)
//同上
Vector va=Multiply(ma,ve);//值是怎么传递的?
va.Display();
}
...全文
79 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
heimeng 2001-10-27
  • 打赏
  • 举报
回复
up
kingfish 2001-10-27
  • 打赏
  • 举报
回复
看看引用

69,370

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧