AYUDA URGENTE CON MATRICES
1; Necesito hacer un determinante.
2; No consigo utilizar bien el scanf para introducir la matriz.
Enviarme respuesta y un email para ponernos en contacto urgentemente. Gracias
2; No consigo utilizar bien el scanf para introducir la matriz.
Enviarme respuesta y un email para ponernos en contacto urgentemente. Gracias
usa el cin y el cout para entrada y salida
para eso utiliza el #include <conio.h>
cin >> ...;
cout << ....;
para eso utiliza el #include <conio.h>
cin >> ...;
cout << ....;
Te envio un programa para calcular determinantes.
Ya lo envie, hace un rato, no se si era otro pedido tuyo o hay varios alumnos que tienen que hacer el mismo trabajo. En todo caso conviene que lo cambien un poco.
Con respecto a la entrada de datos, podes operar perfectamente como esta indicaco en el mensaje anterior.
// program k7c9 - page 139
// recursion : calculate matrix determinant.
// c++ exercices book - dr. gershon kagan - first edition : 2001
// written in Borland CPP ver 3.1
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
#define N 4
#define dx 5
#define dy 2
#define xo (80 - N*dx)/2
#define yo (25 - N*dy)/2 + 1
int a[N][N] = {{ 1, 2,-2, 0},
{ 2, 3,-4, 1},
{-1,-2, 0, 2},
{ 0, 2, 5, 3}};
int row[N] = {0,0,0,0};
void ShowMatrix()
{
for(int i = 0;i < N;i++)
{
cout << endl << endl << setw(20) << " ";
for(int j = 0;j < N;j++)
cout << setw(5) << a[i][j];
}
} // SHOW MATRIX
int Process(int col)
{
int ret = 0,k = 0;
if(col == N-1)
{
while(row[k])
k++;
ret = a[k][col]; // return the value of determinant with
} // only one element
else
{
int sign = 1;
for(k = 0;k < N;k++)
{
if(row[k])
continue;
row[k]++;
ret += sign*a[k][col]*Process(col+1);
sign = -sign;
row[k]--;
}
}
return ret;
} // PROCESS
void main()
{
clrscr();
gotoxy(10,2);
cout << "recursion : calculate matrix determinant" << endl << endl;
ShowMatrix();
cout << endl << endl << endl;
cout << setw(38) << "determinant = "<< Process(0);
gotoxy(10,20);
cout << "end of program - good bye ! ! !n";
getch();
} // MAIN
/*
recursion : calculate matrix determinant
1 2 -2 0
2 3 -4 1
-1 -2 0 2
0 2 5 3
determinant = 20
end of program - good bye ! ! !
*/
Ya lo envie, hace un rato, no se si era otro pedido tuyo o hay varios alumnos que tienen que hacer el mismo trabajo. En todo caso conviene que lo cambien un poco.
Con respecto a la entrada de datos, podes operar perfectamente como esta indicaco en el mensaje anterior.
// program k7c9 - page 139
// recursion : calculate matrix determinant.
// c++ exercices book - dr. gershon kagan - first edition : 2001
// written in Borland CPP ver 3.1
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
#define N 4
#define dx 5
#define dy 2
#define xo (80 - N*dx)/2
#define yo (25 - N*dy)/2 + 1
int a[N][N] = {{ 1, 2,-2, 0},
{ 2, 3,-4, 1},
{-1,-2, 0, 2},
{ 0, 2, 5, 3}};
int row[N] = {0,0,0,0};
void ShowMatrix()
{
for(int i = 0;i < N;i++)
{
cout << endl << endl << setw(20) << " ";
for(int j = 0;j < N;j++)
cout << setw(5) << a[i][j];
}
} // SHOW MATRIX
int Process(int col)
{
int ret = 0,k = 0;
if(col == N-1)
{
while(row[k])
k++;
ret = a[k][col]; // return the value of determinant with
} // only one element
else
{
int sign = 1;
for(k = 0;k < N;k++)
{
if(row[k])
continue;
row[k]++;
ret += sign*a[k][col]*Process(col+1);
sign = -sign;
row[k]--;
}
}
return ret;
} // PROCESS
void main()
{
clrscr();
gotoxy(10,2);
cout << "recursion : calculate matrix determinant" << endl << endl;
ShowMatrix();
cout << endl << endl << endl;
cout << setw(38) << "determinant = "<< Process(0);
gotoxy(10,20);
cout << "end of program - good bye ! ! !n";
getch();
} // MAIN
/*
recursion : calculate matrix determinant
1 2 -2 0
2 3 -4 1
-1 -2 0 2
0 2 5 3
determinant = 20
end of program - good bye ! ! !
*/
