0

الگوریتم ماتریس دترماین

 
rezahashemian1374
rezahashemian1374
کاربر برنزی
تاریخ عضویت : مهر 1391 
تعداد پست ها : 254
محل سکونت : تهران

الگوریتم ماتریس دترماین

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int ghotrasli(int a[30][30],int );
int ghotrfarei(int a[30][30],int);
int sum1=0,sum2=0;
int main()
{
  int s=1,p=1,n=0,a[30][30],det;
  char ch;
  l2: clrscr();
  printf(" \tPlease Enter Matrix[N][N]=");
  scanf("%d",&n);
  if(n==1)
  sum1=n,sum2=n,det=sum1-sum2;
  if(n==2)
  {
        for(int i=1;i<=n;i++)
        {
          for(int j=1;j<=n;j++)
          {
          printf("\tMatrix[%d][%d]=",i,j);
         scanf("%d",&a[i][j]);
             if(i==j)
                 s*=a[i][j];
             if(i+j==n+1)
                 p*=a[i][j];
          }
        }
        det=s-p;
        sum1=s;
        sum2=p;
  }
  if(n>2)
  {
         for(int i=1;i<=n;i++)
         {
         for(int j=1;j<=n;j++)
         {
            printf("\tMatrix[%d][%d]=",i,j);
            scanf("%d",&a[i][j]);
         }
         }
  ghotrasli(a,n);
  ghotrfarei(a,n);
  det=sum1-sum2;
  }
  printf("\tDetermine Matrix[%d][%d]=%d-%d=%d",n,n,sum1,sum2,det);
  getch();
  printf("\n\t Do You Continue (Y/N)?");
  ch=getch();
  if(ch=='y'|| ch=='Y'||ch=='\r')
  {sum1=0,sum2=0,det=0,s=1,p=1;
  goto l2;                    }
  else if(ch=='N'||ch=='n')
  exit;
  return 0;
}

//****************************
int ghotrasli(int a[30][30],int n)
{
 int l=1,w=2,i=2,x=1;
    for(int k=1;k<=n;k++)
    {
        while(l<=n)
                 {
                 if(w>n)
                        w=1;
                 x*=a[l][w];
                 l++  ,  w++;
                 }
      sum1+=x;
      i++ , w=i ,l=1 ,  x=1;
    }
      getch();
      return sum1;
}
//*****************************
int ghotrfarei(int a[30][30],int n)
{
  int w=1, l=1,i=1,x=1;
      for(int k=1;k<=n;k++)
      {
         while(l<=n)
                      {
                        if(w==0)
                                w=n;
                        x*=a[l][w];
                        l++ , w--;
                        }
         sum2+=x;
         i++ , w=i , l=1 , x=1;
     }
 return sum2;
}
 

Seyyed.Reza.Hashemian@Gmail.Com

دوستانی که سوالی دارند یا مایل به تماس هستند می توانند از اطلاعات بالا استفاده نمایند.

اگر هم تایپکی زدید و احتیاج به پاسخگویی سریع داشتید اطلاع دهید

جمعه 28 مهر 1391  12:25 PM
تشکرات از این پست
دسترسی سریع به انجمن ها