Ciao a tutti.
Ho un problema con questo programma, per qualche strano motivo il segno di X non è mai corretto, se volete provare basta scrivere a=2 b=3 c=12, a=3 b=-1 c=7.
Non penso di aver sbagliato i calcoli, ma X dovrebbe essere 3 mentre in output viene mostrato -3.
Questo è il codice
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
int calcoloDeterminante(int a, int b, int c, int a1, int b1, int c1)
{
int determinante = a * b1 - b * a1;
return determinante;
}
int determinanteX(int b, int c, int b1, int c1)
{
int dx = b * c1 - c * b1;
//cout << dx << endl; debug
return dx;
}
int determinanteY(int a, int c, int a1, int c1)
{
int dy = a * c1 - c * a1;
return dy;
}
int main()
{
int a, b, c, a1, b1, c1;
float x, y;
cout << "A, b e c ";
cin >> a >> b >> c;
cout << "A1, b1 e c1 ";
cin >> a1 >> b1 >> c1;
x = determinanteX(b, c, b1, c1) / calcoloDeterminante(a, b, c, a1, b1, c1);
y = determinanteY(a, c, a1, c1) / calcoloDeterminante(a, b, c, a1, b1, c1);
cout << "Determinante = " << calcoloDeterminante(a, b, c, a1, b1, c1) << " X = " << x << " Y = " << y << endl;
system("pause");
return 0;
}
Grazie in anticipo.