C/Visual C - eliminacion gaussiana

 
Vista:

eliminacion gaussiana

Publicado por nasha (5 intervenciones) el 23/05/2007 17:00:43
hola a todos...
alguien me podria pasar el programa de eliminacion gaussiana para sistemas de ecuaciones en C++, please lo e intetado hacer pero no me sale, no c como acerlo...yo soy novata en stas cosas.

alguien ayudeme...se los agradezco d antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:eliminacion gaussiana

Publicado por Nelek (816 intervenciones) el 24/05/2007 08:37:41
Usa google,

o pon lo que has intentado y donde tienes los problemas e intentaremos ayudarte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:eliminacion gaussiana

Publicado por raul (1 intervención) el 21/09/2009 01:34:35
#include<math.h>
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<malloc.h>

int n;
float **A;

void eliminacion()
{
int i,j,k,max;
float t;
for(i=0;i<n;i++)
{ max=i;
for(i=j+1;j<n;j++)
if(fabs (A[j][i]) > fabs(A[max][i]))
max = j;
for(k=0;k<n;k++)
{ t=A[i][k];
A[i][k]=A[max][k];
A[i][k]=t;
}
for(j=i+1;j<n;j++)
for(k=n;k>=i;k--)
A[j][k]= A[i][k]*A[j][i]/A[i][i];
}
}

void sustitucion()
{
int j,k;
float t,*x;
x=(float*)malloc(sizeof(float)*n);
for(j=0;j<n;j++)
x[j]=A[j][n+1];
for(j=n-1;j>=0;j--)
{ t=0.0;
for(k=j+1;k<n;k++)
t+=A[j][k]*x[k];
x[j]=(A[j][n]-t)/A[j][j];
}
printf("las variables son:\n");
for(j=0;j<n;j++)
printf("%c = %f\n",'A'+j,x[j]);
}
void ponme(){
for(int L='A',i=0;i<n;i++) printf("%c%13c", L++, ' ');
printf("\b\b\b\b\b\b| R\n");
for(i=0;i<n;i++){
for(int k=1, j=0;j<n+1;j++,k++){
printf("%.2f",A[i][j]);
gotoxy(13*k, wherey());
if(j+1==n) printf("\b\b| ");
}
printf("\n");
}
printf("\n");

}

void lectura()
{
int i, j, L='A';
do{
printf("Numero de variables que tendra el sistema:\t");
scanf("%d",&n);
if(n<=2 || n>=15)
cout<<"ERROR, ingrese un numero entre 2 y 15"<<"\n";
}while(n<=2 || n>=15);

for(i=0;i<n;i++) printf("%c%7c", L++, ' '); printf("\b\b| R\n");
A=(float **)malloc(sizeof(float)*n+1);
for(i=0;i<n+1;i++) A[i]=(float *)malloc(sizeof(float)*n+1);
for(i=0;i<n+1;i++) for(j=0;j<n+1;j++) A[i][j]=0;
for(i=0;i<n;i++)
{ //filas -> ecuaciones
for(int k=1,j=0;j<=n;j++, k++)
{ //columnas -> variables
scanf("%f",&A[i][j]);
gotoxy(wherex()+8*k, wherey()-1);
if(j+1==n) printf("\b\b| ");
}
printf("\n");
}
printf("\n\n");

}

void determinante()
{
float det=1;
for(int i=0;i<n;i++)
det*=A[i][i];
printf("Determinante = %.3f\n", det);

}

void main()
{
clrscr();
lectura();
ponme();
eliminacion();
ponme();
sustitucion();
determinante();
getch();
}

// nota tenes que corregirle una exception espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:eliminacion gaussiana

Publicado por luis (1 intervención) el 17/03/2010 20:00:56
nesesito un prodrama de c++ eliminacion gaussiana
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar