Lab 1.
#include <iostream.h>
#include <math.h>
#include <stdlib.h>
void main()
{
int n,i,j;
double A[10][10],b[10];
double eps=0.0001;
cout<<"Dati ordinul matricii: ";
cin>>n;
cout<<"Dati matricea sistemului: n";
for (i=1; i<=n;i++)
for(j=1; j<=n;j++)
{
cout<<"A["<<i<<","<<j<<"]=";
cin>>A[i][j];
}
cout<<"Matrice este: n";
for (i=1; i<=n;i++)
{
for(j=1; j<=n;j++)
cout<<A[i][j]<<" ";
cout<<endl;
}
cout<<"Dati matricea termenilor liberi: n";
for (i=1;i<=n; i++)
{
cout<<"b["<<i<<"]=";
cin>>b[i];
}
cout<<"Matricea termenilor liberi este: n";
for (i=1;i<=n; i++)
{
cout<<b[i]<<endl;
}
if (n==2)
{
double det=A[1][1]*A[2][2]-A[1][2]*A[2][1];
if (fabs(det)<=eps)
{
cout<<"Matricea coef este singulara!!!";
exit(1);
}
else
{
double x1,x2;
cout<<"Solutiile sitemului sunt: n";
x1=(b[1]*A[2][2]-b[2]*A[1][2])/det;
x2=(b[2]*A[1][1]-b[1]*A[2][1])/det;
cout<<x1<<endl;
cout<<x2<<endl;
}
}
else
{
double det=A[1][1]*A[2][2]*A[3][3]+A[2][1]*A[3][2]*A[1][3]+A[1][2]*A[2][3]*A[3][1]-A[1][3]*A[2][2]*A[3][1]-A[2][3]*A[3][2]*A[1][1]-A[1][2]*A[2][1]*A[3][3];
if (fabs(det)<=eps)
{
cout<<"Matricea coef este singulara!!!";
exit(1);
}
else
{
double x1,x2,x3;
cout<<"Solutiile sitemului sunt: n";
x1=(b[1]*A[2][2]*A[3][3]+b[2]*A[3][2]*A[1][3]+A[1][2]*A[2][3]*b[3]-A[1][3]*A[2][2]*b[3]-A[2][3]*A[3][2]*b[1]-A[1][2]*b[2]*A[3][3])/det;
x2=(A[1][1]*b[2]*A[3][3]+A[2][1]*b[3]*A[1][3]+b[1]*A[2][3]*A[3][1]-A[1][3]*b[2]*A[3][1]-A[2][3]*b[3]*A[1][1]-b[1]*A[2][1]*A[3][3])/det;
x3=(A[1][1]*A[2][2]*b[3]+A[2][1]*A[3][2]*b[1]+A[1][2]*b[2]*A[3][1]-b[1]*A[2][2]*A[3][1]-b[2]*A[3][2]*A[1][1]-A[1][2]*A[2][1]*b[3])/det;
cout<<x1<<endl;
cout<<x2<<endl;
cout<<x3<<endl;
}
}
}
probleme cu matrici rezolvate in c++
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.