سلام من این یه خطا رو هر کاری میکنم درست نمیشه فردا 8 صبح هم باید تحویل بدم اینومیشه اگه کسی هست اینجا کمک کنه ؟
میدونم جای این سوال توی این تالار نبود ولی واقعا کارم گیره دارم به هر دری میزنم اگه دوستی کسی دارید ++c کاره که الان آنلاینه ممنون میشم ازش کمک بگیرید
سوال: آرايه ي يک بعدي پويا با استفاده از کلاس تعريف نموده به گونه اي که شامل سازنده معمولي ، سازنده ي کپي ، == ، = ، =+ ، * باشد
کد:#include<iostream.h> class matrix{ friend matrix operator *(matrix &r,matrix &r2); friend int operator ==(matrix &r,matrix &r2); public : matrix (int a=5) { size=a; arr=new int[size]; } void setsize(int s){size=s;} int getsize(){return size;} void st() { cout<<"plz enter numbers: \n"; for(int i=0;i<size;i++) { cout<<i+1<<": \t";cin>>arr[i];} } matrix operator ++(){ for(int i=0;i<size;i++) arr[i]++; return *this; } matrix operator ++(int){ matrix temp(size); temp=*this; for(int i=0;i<size;i++) arr[i]++; return temp; } matrix operator =(const matrix &r){ size=r.size; for(int i=0;i<size;i++) arr[i]=r.arr[i]; return *this; } matrix & operator +=(const matrix & r){ for(int i=0;i<size;i++) arr[i]=arr[i]+r.arr[i]; return *this; } void show_arr(){ cout<<" view inserted numbers in matrix: \n"; for(int i=0;i<size;i++) {cout<<arr[i]<<" ";} } private : int size; int * arr; }; matrix mat1,mat2,mat3; bool cr_obj(){ int obj_n,n; cout<<"Select Object you want to create ( 1 || 2 || 3 ): \n"; cin>>obj_n; if(obj_n<1 || obj_n>3)return false; cout<<"select size for matrix: \n"; cin>>n; switch (obj_n){ case 1:mat1.setsize(n); break; case 2:mat2.setsize(n); break; case 3:mat3.setsize(n); break; } } void lod_menu(){ cout<<"\n\t Matrix Class \n "; cout<<"\n"; cout<<"0.\t"<<"* set size of a matrix"<<endl; cout<<"1.\t"<<"* set values for a matrix"<<endl; cout<<"2.\t"<<"* show values of a matrix"<<endl; cout<<"3.\t"<<"* compare two matrixes "<<endl; cout<<"4.\t"<<"* beat two matrixes "<<endl; cout<<"5.\t"<<"* sum two matrixes "<<endl; cout<<"6.\t"<<"* ++ matrixes "<<endl; cout<<"7.\t"<<"* End "<<endl; cout<<"\n"; } void compair(){ int n; cout<<"select matrix to compare(1,2 || 2,3 || 1,3)"; cin>>n; if(n==1) if((mat1==mat2)==1)cout<<" matris 1 == matrix 2 \n"; else cout<<" matris 1 != matrix 2 \n"; else if(n==2) if((mat2==mat3)==1)cout<<" matris 2 ==matrix 3 \n"; else cout<<" matris 2 != matrix 3 \n"; else if((mat1==mat3)==1)cout<<" matris 1 ==matrix 3 \n"; else cout<<" matris 1 != matrix 3 \n"; } void ad(){ int n; cout<<"select matrix to add(1 || 2)"; cin>>n; if(n==1) mat3+=mat1; else mat3+=mat2; } bool show(){ int mat; cout<<"select 1 || 2 || 3 ? \n"; cin>>mat; if(mat<1 || mat>3)return false; switch (mat ){ case 1:mat1.show_arr(); break; case 2:mat2.show_arr(); break; case 3:mat3.show_arr(); break; default:cout<<"wrong number!\n"; break; } } void star(){ cout<<" mat3=mat1*mat2 \n"; mat3=mat1*mat2; } bool st_values(){ int mat; cout<<"select 1 || 2 || 3 ? \n"; cin>>mat; if(mat<1 || mat>3)return false; switch (mat ){ case 1:mat1.st(); break; case 2:mat2.st(); break; case 3:mat3.st(); break; default:cout<<"wrong number!\n"; break; } } void plus(){ int n; cout<<"select matrix to compare( 1 || 2 || 3 )"; cin>>n; if(n==1) mat1++; else if(n==2) mat2++; else mat3++; } ///////////////////////////////////// int main(){ int selectuser=0; int x; while(1){ lod_menu(); cin>>selectuser; if(selectuser<0 || selectuser>6)exit(0); switch (selectuser){ case 0:cr_obj(); break; case 1:st_values(); break; case 3:compair(); break; case 2:show(); break; case 4:star(); break; case 5:ad(); break; case 6:plus(); break; default: exit(0); } } return 0; } ////////////////////////////////////////////// matrix operator *( matrix &r,matrix &r2){ int min=r.size; if(r2.size<r.size)min=r2.size; matrix z(min); for(int i=0;i<min;i++) z.arr[i]=r.arr[i]*r2.arr[i]; return z; } int operator ==(matrix r1,matrix r2){ if(r1.size != r2.size)return 0; for(int i=0;i<r1.size;i++) if(r1.arr[i]!=r2.arr[i])return 0; return 1; }





مقدار دهی تابع پویا با استفاده از کلاس ( رفع اشکال + کمک )
میشه اگه کسی هست اینجا کمک کنه ؟
پاسخ با نقل قول