PDA

View Full Version : سوال: matrise Sparse



obscure
پنج شنبه 02 آبان 1387, 15:42 عصر
سلام.من تازه c++ شروع کردم.می خواستم اگه میشه راجع به این سوال کمک کنید.
سوال:برنامه ای بنویسید که ماتریس 2 بعدی را از ورودی خوانده و در صورت اسپارس بودن ماتریس،ماتریس اصلی،ماتریس ترانهاده،ماتریس بهینه و ماتریس ترانهاده بهینه آن را چاپ کند.برنامه ای که من نوشتم خیلی مبتدیانست ولی اگه میشه اشکالامو بگید.مرسی.

#include<iostream.h>
#include<conio.h>
class sparse{
int a,b,i,j,n,m[40][40];
public:
void get_s();
void printasly();
void printt();
void printb();
void printtb();
};
void sparse::get_s(){
cout<<"Tedade satrha ra vared konid:";
cin>>i;
cout<<"tedade sotun ha ra vared konid:";
cin>>j;
do{
cout<<"tedade anasore gheire 0 ra vared konid:";
cin>>n;
if(n>(i*j)/2){cout<<"Erorr:tedade 0 ha kamtar az nesf ast.(matris sparse nist!)mojadadan vared konid\n";}
}
while(n>(i*j)/2);
cout<<"anasore matrise sparse ra be tartib vared konid:";
for(a=0;a<i;a++){
for(b=0;b<j;b++){
cin>>m[a][b];
}
}
}
void sparse::printasly(){
cout<<"matrise asly:\n";
cout<<"--------------------";
for(a=0;a<i;a++){
if(b=b-1){cout<<"\n";}
for(b=0;b<j;b++){
cout<<m[a][b]<<"\t";
}
}
cout<<"\n";
}
void sparse::printt(){
cout<<"matrise taranahade:\n";
cout<<"--------------------";
for(a=0;a<j;a++){
if(b=b-1){cout<<"\n";}
for(b=0;b<i;b++){
cout<<m[b][a]<<"\t";
}
}
cout<<"\n";
}
void sparse::printb(){
cout<<"\n"<<"Matrise Behine:\n"<<"#satr"<<"\t"<<"#sotun"<<"\t"<<"meghdar"<<"\n"<<i<<"\t"<<j<<"\t"<<n<<"\n"<<"--------------------"<<"\n";
for(a=0;a<i;a++){
for(b=0;b<j;b++){
if(m[a][b]>0||m[a][b]<0){
cout<<a<<"\t"<<b<<"\t"<<m[a][b]<<"\n";
}
}
}
}
void sparse::printtb(){
cout<<"\n"<<"Matrise TaraNahadeye behine:\n"<<"#satr"<<"\t"<<"#sotun"<<"\t"<<"meghdar"<<"\n"<<j<<"\t"<<i<<"\t"<<n<<"\n"<<"--------------------"<<"\n";
for(a=0;a<i;a++){
for(b=0;b<j;b++){
if(m[a][b]>0||m[a][b]<0){
cout<<b<<"\t"<<a<<"\t"<<m[a][b]<<"\n";
}
}
}
}
int main (){
sparse k;
k.get_s();
clrscr();
k.printasly();
k.printt();
k.printb();
k.printtb();
getch();
return 0;
}