THE BEST PROGRAMMER
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

Have Fun with Matrices

2 مشترك

اذهب الى الأسفل

Have Fun with Matrices Empty Have Fun with Matrices

مُساهمة من طرف feras_kassar الأربعاء فبراير 19, 2014 11:48 am

Have Fun with Matrices

feras_kassar

الجنس : ذكر
عدد المساهمات : 78
السٌّمعَة : 1
تاريخ التسجيل : 19/02/2014

الرجوع الى أعلى الصفحة اذهب الى الأسفل

Have Fun with Matrices Empty رد: Have Fun with Matrices

مُساهمة من طرف علا الجمعة فبراير 21, 2014 11:43 pm

سؤال لو سمحتو اذا بدي حول من حرف لرقم عم يعطيني خطأ وهاد الكود
الكود:
#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 Empty رد: Have Fun with Matrices

مُساهمة من طرف feras_kassar السبت فبراير 22, 2014 7:49 am

لأنو atoi بتاخد مصفوفة char ما بتقبل char واحد
اذا بدك تحولي char واحد حاولي بهي الطريقة

الكود:
int x = int(ss[j]) - int('0');

feras_kassar

الجنس : ذكر
عدد المساهمات : 78
السٌّمعَة : 1
تاريخ التسجيل : 19/02/2014

الرجوع الى أعلى الصفحة اذهب الى الأسفل

Have Fun with Matrices Empty رد: Have Fun with Matrices

مُساهمة من طرف علا السبت فبراير 22, 2014 9:57 am

اسفة يمكن كترت أسئلتي..بس عملت متل ما قلت عطاني runtime
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 Empty رد: Have Fun with Matrices

مُساهمة من طرف feras_kassar السبت فبراير 22, 2014 10:46 am

بسبب حجم المصفوفة الكبير المحجوز 10000*10000
في حل من 2 
1- تعريف المصفوفة public خارج تابع ال main
2- تصغير أبعاد المصفوفة هنن فالو بالدخل N<10 مافي داعي لكل هاد البعد

feras_kassar

الجنس : ذكر
عدد المساهمات : 78
السٌّمعَة : 1
تاريخ التسجيل : 19/02/2014

الرجوع الى أعلى الصفحة اذهب الى الأسفل

Have Fun with Matrices Empty رد: Have Fun with Matrices

مُساهمة من طرف علا السبت فبراير 22, 2014 11:52 am

اي صح كمان ما انتبهت شكرا كتير عذبتك معي...

علا

الجنس : انثى
عدد المساهمات : 19
السٌّمعَة : 1
تاريخ التسجيل : 19/02/2014

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى