matematykaszkolna.pl
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