C++ - 3 niewiadome metodą wyznaczników
Igor2: Witam robię program do obliczania "3 Niewiadomych metodą wyznaczników" w c++
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
float a1,a2,a3,b1,b2,b3,c1,c2,c3,d1,d2,d3,wx,wy,wz,z,w,x,y;
cout<<"Podaj a1: ";
cin>>a1;
cout<<"Podaj b1: ";
cin>>b1;
cout<<"Podaj c1: ";
cin>>c1;
cout<<"Podaj a2: ";
cin>>a2;
cout<<"Podaj b2: ";
cin>>b2;
cout<<"Podaj c2: ";
cin>>c2;
cout<<"Podaj a3: ";
cin>>a3;
cout<<"Podaj b3: ";
cin>>b3;
cout<<"Podaj c3: ";
cin>>c3;
cout<<"Podaj d1: ";
cin>>d1;
cout<<"Podaj d2: ";
cin>>d2;
cout<<"Podaj d3: ";
cin>>d3;
w = a1*b2*c3 + a2*b3*c1 + a3*b1*c2 − a3*b2*c1 − a2*b1*c3 − a1*b3*c2;
wx = d1*b2*c3 + d2*b3*c1 + d3*b1*c2 − d3*b2*c1 − d2*b1*c3 − d1*b3*c2;
wy = a1*d2*c3 + a2*d3*c1 + a3*d1*c2 − a3*d2*c1 − a2*d1*c3 − a1*d3*c2;
wz = a1*b2*d3 + a2*b3*d1 + a3*b1*d2 − a3*b2*d1 − a2*b1*d3 − a1*b3*d2;
if(w!=0) //sprawdzamy, czy główny wyznacznik jest różny od zera
{
cout<<"x = "<<wx/w<<endl;
cout<<"y = "<<wy/w<<endl;
cout<<"z = "<<wz/w<<endl;
}
else // w tym miejscu sprawdzamy przypadek, gdy główny wyznacznik jest równy 0
if(wx==0&&wy==0&&wz==0)
cout<<"Uklad ma nieskonczenie wiele rozwiazan"<<endl;
else
cout<<"Uklad sprzeczny"<<endl;
system("PAUSE");
return 0;
}
Wzory się zgadzają ale czy warunki też?
16 kwi 13:03
Dziadek Mróz:
Tak. Proponowałbym napisać to na macierzy, tzn na tablicy 3x3
float **matrix = new float*[3];
for (size_t i = 0; i < 3; i++)
{
matrix[i] = new float[3];
for (size_t j = 0; j < 3; j++)
{
std::cin >> matrix[i][j];
}
}
float w = ...
float w1 = ...
...
17 kwi 16:12