الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما هو الخطأ في برنامجي

مغلق
بدأه **طالب** في 16 ديسمبر 2005 · 2 رد · 419 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اسلام عليكم

لو سمحتوا أبغى منكم طلب

برنامجي هذا صلحته لكن يطلعلي خطاْ في 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;

}

#2

الخطأ انك تحاول قراءة قيمة Object من المستخدم باستخدام cin

doublearray<int> a(i,j);
    cout<<"the value of each element is\n";
for ( int h=0;h<i*j;h++){
  cin>>a;

و هذا غير ممكن

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#3

طيب كيف أصلحه

وعندي طلب (داله الجمع ما يجمعلي صح)<<<<<<<<وشلون أخليها تجمعلي عناصر المصفوفه>>>>>

و مشكور على الرد يا bashmohandes

و جزاك الله ألــــــــــــــــــــــــــــف خير B)

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…