Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá boa tarde a todos, estou com dois problemas em um programa para calcular sistemas lineares de ordem 2 ou 3 (pelo método de Cramer). O resultados estão corretos apenas o sinal que tá com erro, como solucionar esses problemas sem precisar multiplicar por -1? Desde já agradeço a atenção de todos.
#include <iostream>
#include <cstdlib>
using namespace std;
int main () {
float X[3][4], x[3], Dx;
int i, j, esc;
cout << "Digite 3 para solucionar sistemas de ordem 3 \nDigite 2 para solucionar sistemas de ordem 2 \n";
cin >> esc;
if (esc == 3){
cout << "Informe os coeficientes e os termos independentes das equacoes do sistema: \n";
for(i = 0; i<3; i++) {
for(j = 0; j<4; j++) {
cout << "Informe o valor de x" << i+1 << j+1 << ": ";
cin >> X*[j];*
}
}
Dx = (X[0][0]X[1][1]X[2][2] + X[1][0]X[2][1]X[0][2] + X[2][0]X[0][1]X[1][2]) - (X[0][2]X[1][1]X[2][0] + X[1][2]X[2][1]X[0][0] + X[0][1]X[1][0]X[2][2]);
if(Dx == 0){
cout << "Nao existe solucao real para esse sistema.";
}
else {
x[0] = ((X[0][1]X[1][2]X[2][3] + X[1][1]X[2][2]X[0][3] + X[0][2]X[1][3]X[2][1]) - (X[0][3]X[1][2]X[2][1] + X[1][3]X[2][2]X[0][1] + X[2][3]X[0][2]X[1][1]))/Dx;
x[1] = ((X[0][0]X[1][2]X[2][3] + X[1][0]X[2][2]X[0][3] + X[2][0]X[0][2]X[1][3]) - (X[0][3]X[1][2]X[2][0] + X[1][3]X[2][2]X[0][0] + X[2][3]X[0][2]X[1][0]))/Dx(-1);*
x[2] = ((X[0][0]X[1][1]X[2][3] + X[1][0]X[2][1]X[0][3] + X[2][0]X[0][1]X[1][3]) - (X[0][3]X[1][1]X[2][0] + X[1][3]X[2][1]X[0][0] + X[2][3]X[0][1]X[1][0]))/Dx;
cout << "As solucoes para x1, x2 e x3 sao: \n" ;
cout << x[0] << "\n";
cout << x[1] << "\n";
cout << x[2] << "\n";
}
}
if (esc == 2) {
cout << "Informe os coeficientes e os termos independentes das equacoes do sistema: \n";
for(i = 0; i<2; i++) {
for(j = 0; j<3; j++) {
cout << "Informe o valor de x" << i+1 << j+1 << ": ";
* cin >> X**[j];*
}
}
Dx = (X[0][0]X[1][1] - X[0][1]X[1][0]);
x[0] = (X[0][1]X[1][2] -(X[0][2]X[1][1]))/Dx (-1);*
x[1] = (X[0][0]X[1][2] -(X[0][2]X[1][0]))/Dx;
cout << "As solucoes para x1, x2 sao: \n";
cout << x[0] << "\n";
cout << x[1] << "\n";
}
system ("pause");
}
Sempre use a TAG Code e por favor na hora de postar a duvida nos mostre onde esta o erro no código , Obrigado.