Red de conocimiento informático - Material del sitio web - Cómo resolver ecuaciones cuadráticas en lenguaje C

Cómo resolver ecuaciones cuadráticas en lenguaje C

Algoritmo C:

#include "stdio.h"

main(){

float a[3][4]={{3, -0.1 ,-0.2, 0.85 },

{0.1,7, -0.3, -19.3},

{0.3 ,-0.2 ,10 , 71.4}};

int i=0;j=0;k=0;

mientras(i<4)

{

a[0][i] =a[0][i]/a[0][0];

a[1][i]=a[0][i]+a[1][i]; p>

a[2 ][i]=a[2][i]+a[0][i];

i++;

}

mientras(j<4)

{

a[1][j]=a[1][j]/a[1][1];

p>

a[0][j]=a[1][j]*a[0][1]+ a[0][j];

a[ 2][j ]=a[1][j]*a[2][1]+a[2][j];

j++;

}

mientras(k<4)

{

a[2][k]=a[2][k]/a[2][2];

a[ 0][k]=a[2][k]*a[0][2]+a[0][k];

a[1][k]=a [2][ k]*a[1][2]+a[1][k];

}

printf("%f",a[t][ 0]);

printf("%f",a[t][1]);

printf("%f",a[t][2]);

}

Algoritmo C++:

#include

#include

# incluir

Usar espacio de nombres std;

void abc(double *[],double[],int);

void main()

{

int n,i,j,k,t;

cout<< "Ingrese el número de elementos de la ecuación:";

cin>>n;

doble **a=nuevo doble *[n],max;

doble *b=nuevo doble[n];

doble * temp=nuevo doble[n+1];

if(a==0||b==0||temp==0)

{

cout<< "El programa falló en la solicitud de memoria dinámica y finalizó la ejecución\n";

exit(1);

}

for (i=0;i<n;i++)

{

a[i]=nuevo doble[n];

if(a [i] ==0)

{

cout<< "Programa de solicitud de memoria dinámica fallida finalizado\n";

exit(1);

}

}

for(i=0;i

i++)

{

cout<< "Ingrese los coeficientes de la "<

for(j =0;j

cin>>a[i][j];

}

cout<< "Ingresa al lado derecho del signo igual El número de "<

for(i=0;i

cin>>b[i ];

for(k=n-1;k>0;k--)

{

max=fabs(a[0][k ]);

for(int m=0;m<=k;m++)

{

if(fabs(a[m][k] )> máx)

{

max=fabs(a[m][k]);

t=m;

}

}

}

if(max==0)

{

cout<< "La ecuación no tiene solución o tiene un número infinito de soluciones\n";

exit( 0);

}

for(m=0;m< =k; m++)

{

temp[m]=a[t][m];

a[t][m]=a[ k][ m];

a[k][m]=temp[m];

}

temp[n]=b[t] ;

p>

b[t]=b[k];

b[k]=temp[n];

for(i =0;i

{

for(j=0;j

a[i][j] -=a[k] [j ]*a[i][k]/a[k][k];

b[i]-=b[k]*a[i][k ]/a[k][k ];

a[i][k]=0;

}

}

if(a[0][0 ]==0)

{

cout< ;<"La ecuación no tiene solución o tiene innumerables soluciones/n";

exit(0);

}

cout<< "La raíz de la ecuación"<

abc(a,b,n-1);

cout<< endl;

for(i=0;i

eliminar[] a[i];

eliminar[] a; eliminar[] b; eliminar[] temp;

}

void abc(doble) *a[], doble b[],int i)

{

if(i==0)

cout<<(b[i] /=a[i][i])<<' \t';

else

{

abc(a,b,i-1) ;

for(int j= 0;j

b[i]-=b[j]*a[i][j];

cout<<(b[i]/ =a[i

][i])<<'\t';

}

}

¡Para referencia!