nمعادله n مجهولی به روش کرامر - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

nمعادله n مجهولی به روش کرامر

0 امتیاز

سلام دوستان

میخواستم کد حل n معادله n مجهولی را بنویسم

به طوریکه کاربر تعداد معادله ها و ضرایب رو وارد میکنه و برنامه جواب هارو چاپ میکنه

من به روش کرامر نوشتم

ولی کار نمیکنه ....

میشه کمکم کنید

ممنونم

#include<iostream>
using namespace std ;
int determinant(int b[100][100],int dim)  
{
 int i,j,sum = 0,c[100][100];
 if(dim==2)
  {                           
    sum = b[0][0]*b[1][1] - b[0][1]*b[1][0];
    return sum;
  }
 for(int p=0;p<dim;p++)
 {
  int h = 0,k = 0;
  for(i=1;i<dim;i++)
  {
    for( j=0;j<dim;j++)
    {
     if(j==p)
      continue;
     c[h][k] = b[i][j];
     k++;
     if(k == dim-1)
      {
         h++;
         k = 0;
      }
 
    }
  }
 
  sum = sum + b[0][p]*pow(-1,p)*determinant(c,dim-1);
 }
 return sum;
}
void Moadele(int a[][100] , int b[] , int dim)
{
	float y;
	int t = 0;
	int r= 0;
	t = determinant(a, dim);
	for ( int j = 0 ; j<dim ; j++)
	{
		for(int i = 0; i<dim ; i++ )
		{
			int k= 0;
			swap(a[i][j] , b[k]);
			k++;
		}
		r = determinant(a, dim);
		y = t/r;
		cout << y << endl;
	}
}

int main ()
{
    int a[100][100], b[100];
    int s;
	int w;
    cout << " PLEASE ENTER NUMBER OF EQUATIon : "<<endl;
    cin >> s ;
    for (int i = 0; i <s ; i++ )
    {
        for (int j = 0 ; j<s ; j++ )
        {
            cout<<"ENTER ELEMAN : ";
            cin >> a[i][j] ;
        }
			cout<<"ENTER ELEMAN : ";
			int k=0;
			cin >> b[k];
			k++;
	}
	Moadele(a,b,s);
	return 0;
	}

 

سوال شده آذر 13, 1392  بوسیله ی Azar (امتیاز 628)   29 42 61
دوباره تگ گذاری شد بهمن 22, 1392 بوسیله ی BlueBlade

1 پاسخ

+1 امتیاز
 
بهترین پاسخ
من قبلا این برنامه رو به زبانهای C/C#/CASIO FX4800P و چند تای دیگه نوشتم.(برنامه ایه که همیشه به عنوان تست روی پلتفرم های مختلف مینویسم)ولی هیچ کدومشون این شکلی نبودن.یعنی همیشه یک مقدار توضیح هم همراهشون بود.

 

تنها ایرادی که با اولین نگاه میتونم بگیرم اینه بعد از جایگزین کردن ستون اول کی مقادیر اولیه رو برگردوندید سر جاش؟
پاسخ داده شده آذر 15, 1392 بوسیله ی FastCode (امتیاز 602)   1 2 11
انتخاب شد بهمن 16, 1392 بوسیله ی BlueBlade
...