Have Fun with Matrices
2 مشترك
صفحة 1 من اصل 1
Have Fun with Matrices
Have Fun with Matrices
feras_kassar- الجنس :
عدد المساهمات : 78
السٌّمعَة : 1
تاريخ التسجيل : 19/02/2014
رد: Have Fun with Matrices
سؤال لو سمحتو اذا بدي حول من حرف لرقم عم يعطيني خطأ وهاد الكود
- الكود:
#include<iostream>
#include<string>
using namespace::std;
int main()
{
int t;int a[10000][10000];
cin>>t;string ss;
for(int k=0;k<t;k++)
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{cin>>ss;
int x=ss.length();
for(int j=1;j<=x;j++){
atoi(ss[j]);
a[i][j]=ss[j];}}
int m;
cin>>m;
for(int l=0;l<m;l++)
{
string s;
cin>>s;
if(s=="row")
{int c,d,tmp;
cin>>c>>d;
for(int nn=1;nn<=n;nn++)
{tmp=a[c][nn];
a[c][nn]=a[d][nn];
a[d][nn]=tmp;
}
}else if(s=="col")
{
int c,d,tmp;
cin>>c>>d;
for(int nn=1;nn<=n;nn++)
{tmp=a[nn][c];
a[nn][c]=a[nn][d];
a[nn][d]=tmp;
}
}
else if(s=="inc")
{for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{a[i][j]+=1;
if(a[i][j]==10)a[i][j]=0;}
}
else if(s=="dec")
{for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{a[i][j]-=1;
if(a[i][j]==-1)a[i][j]=9;}
}
else if(s=="transpose")
{int b[10000][10000];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
b[i][j]=a[j][i];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
a[i][j]=b[i][j];
}
}
cout<<"Case #"<<k<<endl<<endl;
for(int i=1;i<=n;i++)
{for(int j=1;j<=n;j++)
cout<<a[i][j];
cout<<endl;}}
}
علا- الجنس :
عدد المساهمات : 19
السٌّمعَة : 1
تاريخ التسجيل : 19/02/2014
رد: Have Fun with Matrices
لأنو atoi بتاخد مصفوفة char ما بتقبل char واحد
اذا بدك تحولي char واحد حاولي بهي الطريقة
اذا بدك تحولي char واحد حاولي بهي الطريقة
- الكود:
int x = int(ss[j]) - int('0');
feras_kassar- الجنس :
عدد المساهمات : 78
السٌّمعَة : 1
تاريخ التسجيل : 19/02/2014
رد: Have Fun with Matrices
اسفة يمكن كترت أسئلتي..بس عملت متل ما قلت عطاني runtime
error
error
- الكود:
#include<iostream>
#include<string>
using namespace::std;
int main()
{
int t;int a[10000][10000];
cin>>t;string ss;
for(int k=0;k<t;k++)
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{cin>>ss;
int x=ss.length();
for(int j=1;j<=x;j++){
a[i][j]=int(ss[j])-int('0');}}
int m;
cin>>m;
for(int l=0;l<m;l++)
{
string s;
cin>>s;
if(s=="row")
{int c,d,tmp;
cin>>c>>d;
for(int nn=1;nn<=n;nn++)
{tmp=a[c][nn];
a[c][nn]=a[d][nn];
a[d][nn]=tmp;
}
}else if(s=="col")
{
int c,d,tmp;
cin>>c>>d;
for(int nn=1;nn<=n;nn++)
{tmp=a[nn][c];
a[nn][c]=a[nn][d];
a[nn][d]=tmp;
}
}
else if(s=="inc")
{for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{a[i][j]+=1;
if(a[i][j]==10)a[i][j]=0;}
}
else if(s=="dec")
{for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{a[i][j]-=1;
if(a[i][j]==-1)a[i][j]=9;}
}
else if(s=="transpose")
{int b[10000][10000];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
b[i][j]=a[j][i];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
a[i][j]=b[i][j];
}
}
cout<<"Case #"<<k<<endl<<endl;
for(int i=1;i<=n;i++)
{for(int j=1;j<=n;j++)
cout<<a[i][j];
cout<<endl;}}
}
علا- الجنس :
عدد المساهمات : 19
السٌّمعَة : 1
تاريخ التسجيل : 19/02/2014
رد: Have Fun with Matrices
بسبب حجم المصفوفة الكبير المحجوز 10000*10000
في حل من 2
1- تعريف المصفوفة public خارج تابع ال main
2- تصغير أبعاد المصفوفة هنن فالو بالدخل N<10 مافي داعي لكل هاد البعد
في حل من 2
1- تعريف المصفوفة public خارج تابع ال main
2- تصغير أبعاد المصفوفة هنن فالو بالدخل N<10 مافي داعي لكل هاد البعد
feras_kassar- الجنس :
عدد المساهمات : 78
السٌّمعَة : 1
تاريخ التسجيل : 19/02/2014
رد: Have Fun with Matrices
اي صح كمان ما انتبهت شكرا كتير عذبتك معي...
علا- الجنس :
عدد المساهمات : 19
السٌّمعَة : 1
تاريخ التسجيل : 19/02/2014
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى