AYUDA URGENTE
necesito el programa del metodo de gauss jordan y el metodo de lu si alguien me puede ayudar se lo agradesco mucho
SOLO TENGO EL METODO DE GAUSS JORDAN PERO CON GRAFICOS ESPERO QUETE SIRVA
#include <iostream.h>
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <math.h>
const int tam=10;
int i,j,k;
float aux;
char incog[4]={'W','X','Y','Z'};
char coefi[5]={'a','b','c','d'};
void presenta();
void dborde(int,int,int,int,int,int);
void g_diagonal(int,float [][tam*2]);
void imprime_arreglo(int,float [][tam*2]);
void imprime_incog(int,float [][tam*2]);
void c_incognitas(int,float [][tam*2]);
void main(){
int n;
int gd=DETECT,gm;
float array[tam][tam*2];
initgraph(&gd,&gm,"\bc31\bgi");
cout.precision(2);
cleardevice();
dborde(0,4,0,0,getmaxx(),getmaxy());
setbkcolor(BLACK);
dborde(0,4,0,0,getmaxx(),25);
setcolor(YELLOW);
outtextxy(200,3,"SISTEMA DE ECUACIONES");
settextstyle(2,0,5);
outtextxy(20,35,"Cuantas incognitas(1-4):");
gotoxy(30,3);cin>>n;
//Captura los datos del arreglo
dborde(0,4,0,250,getmaxx(),270);
setcolor(YELLOW);
outtextxy(20,250,"Introduce los datos");
for(i=0;i<n;i++){
gotoxy((i+1)*8,18);
cout<<coefi[i];
}
gotoxy((i+1)*8,18);
cout<<"R Diagonal principal";
setviewport(20,300,getmaxx()-20,getmaxy()-20,0);
for(i=0;i<n;i++){
for(j=0;j<=n;j++){
gotoxy((j+1)*8,(i+1)*2+18);
cin>>array[i][j];
}
}
g_diagonal(n,array);
imprime_arreglo(n,array);
c_incognitas(n,array);
imprime_arreglo(n,array);
setviewport(1,1,getmaxx(),getmaxy(),0);
setcolor(4);
line(getmaxx()/2,25,getmaxx()/2,250);
setcolor(YELLOW);
outtextxy((getmaxx()/2)+20,30,"Resultados");
imprime_incog(n,array);
getch();
closegraph();
}
void g_diagonal(int n,float array[][tam*2]){
for(i=0;i<n;i++){
for(j=n+1;j<=(n*2);j++){
if(i+n+1==j)
array[i][j]=1;
else
array[i][j]=0;
}
}
}
void c_incognitas(int n,float array[][tam*2]){
for(i=0;i<n;i++){
if(array[i][i]!=1){
aux=array[i][i];
for(j=0;j<=(n*2);j++)
array[i][j]/=aux;
imprime_arreglo(n,array);
}
for(j=0;j<n;j++){
if(j!=i){
aux=array[j][i]*(-1);
for(k=0;k<=(n*2);k++)
array[j][k]+=aux*array[i][k];
imprime_arreglo(n,array);
}
}
}
}
void imprime_arreglo(int n,float array[][tam*2]){
int i,j;
clearviewport();
for(i=0;i<n;i++){
for(j=0;j<=(n*2);j++){
gotoxy((j+1)*8,(i+1)*2+18);
cout<<array[i][j];
}
}
getch();
}
void imprime_incog(int n,float array[][tam*2]){
for(i=0;i<n;i++){
gotoxy(45,i+5);
cout<<incog[i]<<" =";
gotoxy(50,i+5);
cout<<array[i][n];
}
}
void dborde(int s,int c,int x1,int y1,int x2,int y2){
setcolor(c);
setlinestyle(s,0,3);
rectangle(x1,y1,x2,y2);
}
#include <iostream.h>
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <math.h>
const int tam=10;
int i,j,k;
float aux;
char incog[4]={'W','X','Y','Z'};
char coefi[5]={'a','b','c','d'};
void presenta();
void dborde(int,int,int,int,int,int);
void g_diagonal(int,float [][tam*2]);
void imprime_arreglo(int,float [][tam*2]);
void imprime_incog(int,float [][tam*2]);
void c_incognitas(int,float [][tam*2]);
void main(){
int n;
int gd=DETECT,gm;
float array[tam][tam*2];
initgraph(&gd,&gm,"\bc31\bgi");
cout.precision(2);
cleardevice();
dborde(0,4,0,0,getmaxx(),getmaxy());
setbkcolor(BLACK);
dborde(0,4,0,0,getmaxx(),25);
setcolor(YELLOW);
outtextxy(200,3,"SISTEMA DE ECUACIONES");
settextstyle(2,0,5);
outtextxy(20,35,"Cuantas incognitas(1-4):");
gotoxy(30,3);cin>>n;
//Captura los datos del arreglo
dborde(0,4,0,250,getmaxx(),270);
setcolor(YELLOW);
outtextxy(20,250,"Introduce los datos");
for(i=0;i<n;i++){
gotoxy((i+1)*8,18);
cout<<coefi[i];
}
gotoxy((i+1)*8,18);
cout<<"R Diagonal principal";
setviewport(20,300,getmaxx()-20,getmaxy()-20,0);
for(i=0;i<n;i++){
for(j=0;j<=n;j++){
gotoxy((j+1)*8,(i+1)*2+18);
cin>>array[i][j];
}
}
g_diagonal(n,array);
imprime_arreglo(n,array);
c_incognitas(n,array);
imprime_arreglo(n,array);
setviewport(1,1,getmaxx(),getmaxy(),0);
setcolor(4);
line(getmaxx()/2,25,getmaxx()/2,250);
setcolor(YELLOW);
outtextxy((getmaxx()/2)+20,30,"Resultados");
imprime_incog(n,array);
getch();
closegraph();
}
void g_diagonal(int n,float array[][tam*2]){
for(i=0;i<n;i++){
for(j=n+1;j<=(n*2);j++){
if(i+n+1==j)
array[i][j]=1;
else
array[i][j]=0;
}
}
}
void c_incognitas(int n,float array[][tam*2]){
for(i=0;i<n;i++){
if(array[i][i]!=1){
aux=array[i][i];
for(j=0;j<=(n*2);j++)
array[i][j]/=aux;
imprime_arreglo(n,array);
}
for(j=0;j<n;j++){
if(j!=i){
aux=array[j][i]*(-1);
for(k=0;k<=(n*2);k++)
array[j][k]+=aux*array[i][k];
imprime_arreglo(n,array);
}
}
}
}
void imprime_arreglo(int n,float array[][tam*2]){
int i,j;
clearviewport();
for(i=0;i<n;i++){
for(j=0;j<=(n*2);j++){
gotoxy((j+1)*8,(i+1)*2+18);
cout<<array[i][j];
}
}
getch();
}
void imprime_incog(int n,float array[][tam*2]){
for(i=0;i<n;i++){
gotoxy(45,i+5);
cout<<incog[i]<<" =";
gotoxy(50,i+5);
cout<<array[i][n];
}
}
void dborde(int s,int c,int x1,int y1,int x2,int y2){
setcolor(c);
setlinestyle(s,0,3);
rectangle(x1,y1,x2,y2);
}