ايران ويج

نسخه‌ی کامل: نقطه زین اسبی ماتریس
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
این کدو واسه پیدا کردن نقطه زین اسبی ماتریس نوشتم میدونم که راه حل پیدا کردنش درسته ولی چون خیلی وقته ++c درست و حسابی کار نکردم نمیدونم اشکالش کجاست اگه ممکنه واسم اصلاحش کنید البته با ++c بورلند نوشتمش.
نقطه زین اسبی نقطه ای از ماتریسه که تو سطر i ام کمترین و تو ستون j ام بیشترین مقدار هستش.
کد:
#include<iostream>
using namespace std;
class zinmat
{
  public:
   void read(int,int);
   int compare(int, int);

   int m,n,k,i,j,mix;
   int a[20][20];
} z;
void zinmat::read(int n, int m)
{
   for(i=0; i<n; i++)
    {
      for(j=0; j<m; j++)
       cin >> a[i][j];
      cout << endl;
    }
}
int zinmat::compare(int n,int m)
{
  k=0; cout<< k;
esc: while( k<n )
  {
    mix=a[k][0];
    for(j=1; j<m; j++)
     if((a[k][j]<mix) && (a[k][j]!=0))
      mix=a[k][j];
    for(i=0; i<n; i++)
    {
     if ( a[i][j]>mix )
     {k++;
      goto esc;
     }
     if (a[i][j]==mix)
       {cout <<"zinmat="<<mix;return 0;}
     }
   }return 0;
}
void main()
{
  int x,y;
  cout << "enter row(n): ";
  cin >> x;
  cout << "enter column(m): ";
  cin >> y;
  z.read(x,y);
  z.compare(x,y);
}
از بس هیچکی جواب پستامو نمیده مجبورم یکی یکی خودم جوابمو بدم Cool
اینم جواب زین اسبی با یه جور کد دیگه خودم که از راه حلش خیلی خوشم اومد008
کد:
// Saddle point
#include<iostream.h>
#include<conio.h>
void main()
{
  int m=0,n=0,k=0,p=0,t=0,i=0,j=0,mix=0;
  int flag;
  int a[20][20];
  clrscr();
  cout << "Enter number of rows:";
  cin  >> n;
  cout << "Enter number of columns:";
  cin  >> m;
  cout <<endl;
  for( i=0; i<n; i++ )
    { cout << " Enter row "<<i<<" : ";
      for( j=0; j<m; j++ )
       cin >> a[i][j];
    }
  for ( k=0 ; k<n ; k++ )
   {
      mix=a[k][t];  flag=1;
      for( j=1; j<m; j++ )
        if((a[k][j]<mix) && (a[k][j]!=0))
          {
            mix=a[k][j];
            t=j;  p=k;
          }
      for( i=0; i<n; i++ )
        {
          if( i!=p )
            if( a[i][t]>mix )
              {
                flag=0; t=0; break;
                }
          if( i==n-1 && flag==1)
            cout << "Saddle point=" << mix;
        }
    }
  if ( flag==0)
    cout << "Saddle point doesn't exist";
    getch();
  }