|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Temas - Grixis
Páginas: [1]
1
« en: Domingo 18 de Julio de 2010, 18:40 »
este es solo un trozo de un codigo mas grande que estoy trabajando, lo demas funciona pero estas dos partes no funcionan bien, no dan los resultados y repiten el ciclo infinitamente, estoy usando dev-c++ # include <stdio.h> # include <conio.h> # include <windows.h> # include <math.h> # include <string.h> main(void) { int opcion,j,i,fun; float a,b,es,x,p,fp,fa,fb,p1,ea,x0,fp1,fx,fx0,xi1,mat[3][4],a1,a2,a3,b1,b2,b3,ea1,ea2,ea3,pa[5],ln0,ln2,ln3,ln1,ln4,co1,co2,co3,co4,co0; float ex0,ex1,ex2,ex3,ex4,l1,l2,l3,l4,l0,l5,xi2,ln,Ln,LN,Cos,COS,Exp,EXP,va[10],vv,suma,n,f0,func[10],h,con,sum,I; system ("color 0a"); printf("n°º¤ø,¸¸,ø¤º°`°º¤ø,¸MENU°º¤ø,¸¸,ø¤º°`°º¤ø,¸n"); printf(" n"); printf("1.-Newton Raphsonn"); printf("2.-Gauss Seideln"); printf("Ingrese su Opcionn"); scanf("%d",&opcion); switch(opcion) { case 1: printf("Ha seleccionado: Newton Raphsonn"); printf("La Ecuacion a Evaluar sera: x^2*E^xn"); printf("F'(x)=2x*E^xn"); printf("Ingrese x0:n"); scanf("%f",&x0); printf("Ingrese la Tolerancia:n"); scanf("%f",&es); do { printf("n--------------------------------------n"); fx=pow(x0,2)*exp(x0); fx0=(2*x0)*exp(x0); if (fx0!=0) { printf("el valor de F(x): %.4fn",fx); printf("el valor de F'(x): %.4fn",fx0); xi1=x0-(fx/fx0); printf("el valor de xi+1: %.4fn",xi1); ea=fabs((xi1-x0)/xi1)*100; printf("El valor relativo fue: %.4f %",ea); } else { printf("Ya que F'(x)=0, no se puede aplicar el metodon"); } printf("n--------------------------------------n"); x0=xi1; fx=pow(x0,2)*exp(x0); fx0=(2*x0)*exp(x0); if (fx0!=0) { printf("el valor de F(x): %.4fn",fx); printf("el valor de F'(x): %.4fn",fx0); xi2=x0-(fx/fx0); printf("el valor de xi+1: %.4fn",xi2); } else { printf("Ya que F'(x)=0, no se puede aplicar el metodon"); } ea=fabs((xi2-x0)/xi2)*100; printf("El valor relativo fue: %.4f %",ea); printf("n--------------------------------------n"); }while (ea>es); break; case 2: printf("Ha seleccionado Gauss Seideln"); printf("Ingrese la Matriz 3x4n"); for(i=1;i<=3;i++) for(j=1;j<=4;j++) { printf("Ingrese el elemento %d,%d de la matriz:", i,j); scanf("%f",&mat[i][j]); } printf("La matriz generada fue:n"); for(i=1;i<=3;i++) { for (j=1;j<=4;j++) { printf("t%f",mat[i][j]); } printf("n"); } printf("Ingrese la Tolerancia:n"); scanf("%f",&es); do { printf("n--------------------------------------n"); a1=mat[1][4]-((mat[1][2]+mat[1][3])/mat[1][1]); a2=mat[2][4]-((mat[2][1]+mat[2][3])/mat[2][2]); a3=mat[3][4]-((mat[3][1]+mat[3][2])/mat[3][3]); printf("el valor de X1 fue: %.4fn",a1); printf("el valor de X2 fue: %.4fn",a2); printf("el valor de X3 fue: %.4fn",a3); ea1=fabs((b1-a1)/b1)*100; ea2=fabs((b2-a2)/b2)*100; ea3=fabs((b3-a3)/b3)*100; printf ("Ea1=%.2fn",ea1); printf ("Ea2=%.2fn",ea2); printf ("Ea3=%.2fn",ea3); printf("n--------------------------------------n"); b1=mat[1][4]-(((mat[1][2]*a2)+(mat[1][3]*a3))/mat[1][1]); b2=mat[2][4]-(((mat[2][1]*b1)+(mat[2][3]*a3))/mat[2][2]); b3=mat[3][4]-(((mat[3][1]*b1)+(mat[3][2]*b2))/mat[3][3]); ea1=fabs((b1-a1)/b1)*100; ea2=fabs((b2-a2)/b2)*100; ea3=fabs((b3-a3)/b3)*100; printf("el valor de X1 fue: %.4fn",b1); printf("el valor de X2 fue: %.4fn",b2); printf("el valor de X3 fue: %.4fn",b3); printf ("Ea1=%.2fn",ea1); printf ("Ea2=%.2fn",ea2); printf ("Ea3=%.2fn",ea3); }while ((ea1>es) and (ea2>es) and (ea3>es)); break; getch ();
Páginas: [1]
|
|
|