Cómo resolver ecuaciones cuadráticas en lenguaje 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> p>
a[2 ][i]=a[2][i]+a[0][i];
i++;
} p>
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() p>
{
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); p>
}
}
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!