اسلام عليكم
لو سمحتوا أبغى منكم طلب
برنامجي هذا صلحته لكن يطلعلي خطاْ في run
ياليت تعلموني أش الخطاْ (أسف طالع ملخبط شويه)
اقتباسtemplate <class T> class doublearray
{
int row;
int column;
T *ptr;
public:
doublearray (int r=7,int c=7)
{
row=(r>0?r:3);
column=(c>0?r:3);
ptr=new T [row*column];
for (int i=0;i<row*column;i++){
ptr=0;
}
}
T element ()
{
return ptr[(row,column)];
}
doublearray (const doublearray <T> & array)
{
row=(array.row>0 ?array.row:0);
column=(array.column>0 ?array.column:0);
ptr=new T [row*column];
for (int i=0;i<row*column;i++)
{
ptr=array.ptr;
}
}
~doublearray() {delete [] ptr ;}
doublearray<T> &operator =(const doublearray <T> &r)
{
if (&r !=this)
{
if(!(r>0|| r<=row) && !(c>0|| c<=column))
{
delete []ptr;
row=r.row;
column=r.column;
ptr=new T [row*column];
}
}
for (int i=0; i<row*column; i++){
ptr=r.ptr;
}
return *this;
}
T &operator() (int r, int c)
{
if(!(r>0|| r<=row) && !(c>0|| c<=column))
{
cout<<"\nError it is out of rang\n";
exit(1);
}
return ptr[(r-1)*column+(c-1)];
}
const T &operator() (int r, int c)const
{
if(!(r>0|| r<=row) && !(c>0|| c<=column))
{
cout<<"\nError it is out of rang\n";
exit(1);
}
return ptr[(r-1)*column+(c-1)];
}
friend istream & operator >> (istream & input , doublearray<T> & a)
{
int r=0;
int c=0;
input>>a.ptr[(r-1)*a.column+(c-1)];
return input;
}
friend ostream & operator << (ostream & output , doublearray<T> & a)
{
int r=0;
int c=0;
output<<a.ptr[(r-1)*a.column+(c-1)];
return output;
}
void sumelement ()
{
T sum=0;
for (int i=0;i<row*column;i++)
sum +=ptr;
cout<<sum;
}
};
/*istream & operator >> (istream & input , doublearray & a)
{
int r=0;
int c=0;
input>>a.ptr[(r-1)*a.column+(c-1)];
return input;
}
ostream & operator << (ostream & output , doublearray & a)
{
int r=0;
int c=0;
output<<a.ptr[(r-1)*a.column+(c-1)];
return output;
}
*/
int main()
{
int i,j,c,r;
cout<<"enter the size of the obj\n";
cin>>i>>j;
doublearray<int> a(i,j) ;
cout<<"the value of each element is\n";
for ( int h=0;h<i*j;h++){
cin>>a;
}
cout<<endl;
cout<<"Enter the index that you want to know has value\n";
cin>>c>>r;
cout<<a(c,r)<<endl;
a(c,r)=3;
cout<<"a("<<c<<","<<r<<") ="<<a;
cout<<"sum the all the element\n";
a.sumelement ();
return 0;
}