elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problemas en el caso 2
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problemas en el caso 2  (Leído 1,684 veces)
fernando27

Desconectado Desconectado

Mensajes: 1


Ver Perfil
problemas en el caso 2
« en: 29 Noviembre 2015, 02:58 am »

buenas, alguien podria ayudarme a solucionar un inconveniente que tengo al momento de querer obtener los valores del caso 2(los del caso 1 si se obtienen). el problema se puede ejecutar... gracias...
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
#define Pi 3.141592653589
using namespace  std;
///funcion u(x,t) aproximada
long double U(double x, double t)
{
long double z; int i;
z=0;
for (i=1;i<20;i++)
z = z+2/(Pi*Pi)*1/(i*i)*(4*sin(Pi*i/2)+i*Pi*(1-cos(i*Pi)))*sin(i*Pi*x)*exp(-Pi*Pi*t*i*i);
return(z);} ///////fin funcion aproximada
int main ()
{  int opc;
    float y,q;
do { system("cls");
    cout<<"menu\n";
    cout<<"1. Metodo Explicito\n";
    cout<<"2. MEtodo Implicito\n";
    cout<<"\t\t elija su opcion:";
    cin>> opc;
switch(opc)
{case 1:{system("cls");
        cout<<"Metodo Explicito\n";
        cout<<"\t\t digite un valor para r :";
        cin>>y;
        FILE *f;
f=fopen ("explicito020.txt","w+");
int i,j,N,T,l,c;
float s1,s2,s3,r,h,k,x,t,error,diferencia;
float zz;
float u[11][101];
r=y;
h=0.1;
k=r*h*h;
N=10;
T=50;
fprintf(f,"r=%4.2f,h=%4.2f,k=%6.4f \n ",r,h,k);
fprintf(f,"i j x t U[xi,yj] U[x,y] diferencia error \n ");
printf("i j x t U[xi,yj] U[x,y] diferencia error \n ");
for (l=0;l<=N+1;l++) //valores de U con las condiciones iniciales{
x=l*h;
if ((x>=0 ) & (x<= 0.5)){
u[l][0]=2*x+1;
fprintf(f,"%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n ",l,0,x,0.0,u[l][0],u[l][0],0.0,0.0);
printf("%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n",l,0,x,0.0,u[l][0],u[l][0],0.0,0.0);
}//fin del if
if ((x>0.5 ) & (x<=1)){
u[l][0]=3-2*x;
fprintf(f,"%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n ",l,0,x,0.0,u[l][0],u[l][0],0.0,0.0);
printf("%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n",l,0,x,0.0,u[l][0],u[l][0],0.0,0.0);
} //fin del if
} //fin del for
fprintf(f,"%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n",l,0,x,0.0,u[l][0],u[l][0],0.0,0.0);
printf("%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n",l,0,x,0.0,u[l][0],u[l][0],0.0,0.0);
for(j=0;j<=100;j++){
u[0][j]=0.2;
u[10][j]=0.4;
t=(j+1)*k;
for (i=0;i<N+1;i++){
if ((i==0) || (i==10))
{x=i*h;
fprintf(f,"%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n",i,j+1,x,t,u[j],u[j],0.0,0.0);
printf("%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n",i,j+1,x,t,u[j],u[j],0.0,0.0);}
else{
x=i*h;
t=(j+1)*k;
s1=u[i-1][j];
s2=u[j];
s3=u[i+1][j];
u[j+1]=r*s1+(1-2*r)*s2+r*s3;
zz=U(x,t);
diferencia=fabs(zz-u[j+1]);
error=fabs((u[j+1]-zz)/zz)*100;
fprintf(f,"%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n",i,j+1,x,t,u[j+1],zz,diferencia,error);
printf("%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n",i,j+1,x,t,u[j+1],zz,diferencia,error);}} // fin del for i}//fin del for j
fclose(f);
printf("fin del programa");
while((c = getchar()) != '\n' && c != EOF);
    putchar( c );
break;
}case 2:{system("cls");
        cout<<"Metodo Implicito\n";
        cout<<"\t\t digite un valor para r :";
        cin>>q;
         int i,j,c,l,s;
FILE *f1,*f;
int N=5;
float r=q;
float h=0.1;
float k=r*h*h;
float a[20][20],b[20][20],A[20],B[20],x,xx,diferencia,error,t,zzz;
f=fopen("implicito070.txt","w+");
fprintf(f1,"PARA EL CASO IMPLICITO CRANCK NICHOLSON BVP \n");
fprintf(f1,"r=%3.2f, h=%3.2f,k=%5.3f \n",r,h,k);
fprintf(f1," i j x t U[i,j] Uanalitica diferencia error \n");
printf("PARA EL CASO IMPLICITO CRANCK NICHOLSON BVP r=%3.2f, h=%3.2f\n",r,h);
printf(" i j x t U[i,j] Uanalitica diferencia error \n");
for (i=0;i<=2*N+1;i++) {
x=i*h;
if ((x>=0 ) & (x<=0.5)) {
a
  • =2*x+1;
   a[0][j]=0.2;
a[10][j]=0.4;
t=(j+1)*k;
a[10-i][0]=a
  • ;
zzz=a
  • ;
diferencia=fabs(zzz-a
  • );
error=0;
fprintf(f1," %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,0,x,0.0,a
  • ,zzz,diferencia,error);
printf(" %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,0,x,0.0,a
  • ,zzz,diferencia,error);}//fin del if
if ((x>0.5 ) & (x<1)){
    a
  • =3-2*x;
   a[0][j]=0.2;
a[10][j]=0.4;
t=(j+1)*k;
zzz=a[10-i][0];
diferencia=fabs(zzz-a
  • );
error=diferencia/zzz*100;
fprintf(f1," %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,0,x,0.0,a
  • ,zzz,diferencia,error);
printf(" %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,0,x,0.0,a
  • ,zzz,diferencia,error);}//fin del if
if (x==1){
zzz=a[10-i][0];
diferencia=fabs(zzz-a
  • );
error=0;
fprintf(f1," %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,0,x,0.0,a
  • ,zzz,diferencia,error);
printf(" %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,0,x,0.0,a
  • ,zzz,diferencia,error);}}///fin del for i para llenarlos valores iniciales
for (j=0; j<20;j++) {
for (i=1;i<N+1;i++) {
    if (i==1) {
b=4.0;
b[i+1]=-1;
///rellena de ceros el lado derecho
for (l=i+2;l<N+1;l++){
b[l]=0.0;}
b[N+1]= (2-2*r)*a[j]+r*a[i+1][j];
printf("\n");
fprintf(f,"\n");
}
if ((i>1) && (i!=N)) {
if(i>2) {
///rellena de ceros el lado izquierdo
for (l=1;l<i-1;l++){
b[l]=0.0;}}
b[i-1]=-1;
b=4.0;
b[i+1]=-1;
for (l=i+2;l<N+1;l++){
b[l]=0.0;}
b[N+1]= r*a[i-1][j]+(2-2*r)*a[j]+r*a[i+1][j];
}//fin del if i>1
if (i==N){
for (l=1;l<i-1;l++){
b[l]=0.0;}
b[N-1]=-2.0*r;
b[N]=(2+2*r);
b[N+1]= r*a[i-1][j]+(2-2*r)*a[j]+r*a[i+1][j];
//a[i-1][j]+a[i+1][j];
printf("\n");
} }///fin del for I=1,N
printf("\n");
////METODO GAUSS SIN PIVOTEO-METOD PROGONKA////
///apli-camos progonka directa///
A[1]=-b[1][2]/b[1][1];
B[1]=b[1][N+1]/b[1][1];
for (i=2;i<N+1;i++){
if (i!= N){
A=-b[i+1]/(b+b[i-1]*A[i-1]);}
B=(b[N+1]-b[i-1]*B[i-1])/(b+b[i-1]*A[i-1]);}
//ahora hallamos las soluciones
//printf(”\n”);
xx=B[N];
//las soluciones son los elementos del vector a[j] a[N][j+1]=xx;
printf( "a[%d][%d]= %6.4f \n",N,j+1,a[N][j+1]);
l=N;
while (l>0) {
s=10-l;
xx=A[l]*xx+B[l];
a[l][j+1]=xx;
a[j+1]=xx;
fprintf(f1, "a[%d][%d]= %6.4f \n",l,j+1,a[j+1]);
printf( "a[%d][%d]= %6.4f \n",l,j+1,a[l][j+1]);
l=l-1;}
printf("\n");
t=k*(j+1);
for (i=0;i<2*N+1;i++) //ahora escribe las soluciones en el archivo de texto{
x=i*h;
if ((i==0) || (i==2*N)){
printf(" %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,j+1,x,t,0.0,0.0,0.0,0.0);
fprintf(f1," %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,j+1,x,t,0.0,0.0,0.0,0.0);}
else {
zzz=U(x,t);
diferencia=fabs(zzz-a[j+1]);
error=diferencia/zzz*100;
fprintf(f1," %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,j+1,x,t,a[j+1],zzz,diferencia,error);
printf(" %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,j+1,x,t,a[j+1],zzz,diferencia,error);}}}//fin del j principal fclose(f);
fclose(f1);
while((c = getchar()) != '\n' && c != EOF);
   break;}};
}while(opc<=2);
}


« Última modificación: 29 Noviembre 2015, 03:09 am por fernando27 » En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: problemas en el caso 2
« Respuesta #1 en: 29 Noviembre 2015, 03:49 am »

0º Utiliza las etiquetas GeSHI para que tu código sea más legible!

1º Error que he encontrado (en el caso 1): El ciclo for lo cierras, pero no lo abres!!

Código
  1. for (l=0;l<=N+1;l++) //valores de U con las condiciones iniciales{
  2.    // Codigo del for
  3. }  //fin del for

La llave tienes que ponerla antes de comentar, no después:

Código
  1. for (l=0;l<=N+1;l++) { //valores de U con las condiciones iniciales
  2.    // Codigo del for
  3. }  //fin del for

2º Error que he encontrado (en el caso 2): Es similar al primer error que te he comentado

No te puedo especificar en que línea es porque no usas las etiquetas GeSHI.

Después de haber corregido estos errores, tienes muchos erres de conversión (fundamentalmente de array bidimensional a flotante)

Además, no existe el archivo <iostream.h> Los archivos nativos de C++ no tienen extensión (sería <iostream>

Para incluir archivos de C, se recomienda usar las versiones de C++ (por ejemplo, para incluir "stdlib.h" incluirías "cstdlib")

No puedo analizar mucho tu código porque está muy enrevesado (las variables no tienen nombres descriptivos, usas "fórmulas" muy largas, sentencias muy largas...)

En resumen: ¡Ten cuidado con las llaves y con la asignación!


« Última modificación: 29 Noviembre 2015, 03:59 am por class_OpenGL » En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: problemas en el caso 2
« Respuesta #2 en: 29 Noviembre 2015, 03:57 am »

Por si alguien quiere analizar mejor el código:

Código
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <stdlib.h>
  4. #include <iostream>
  5. #include <conio.h>
  6.  
  7. using namespace std;
  8.  
  9. #define Pi 3.141592653589
  10.  
  11. long double U(double x, double t) {
  12.    long double z; int i;
  13.    z=0;
  14.    for (i=1;i<20;i++)
  15.        z = z+2/(Pi*Pi)*1/(i*i)*(4*sin(Pi*i/2)+i*Pi*(1-cos(i*Pi)))*sin(i*Pi*x)*exp(-Pi*Pi*t*i*i);
  16.    return(z);
  17. }
  18.  
  19. int main() {
  20.    int opc;
  21.    float y,q;
  22.  
  23.    do {
  24.        system("cls");
  25.  
  26.        cout<<"menu\n";
  27.        cout<<"1. Metodo Explicito\n";
  28.        cout<<"2. MEtodo Implicito\n";
  29.        cout<<"\t\t elija su opcion:";
  30.        cin>> opc;
  31.  
  32.        switch(opc) {
  33.            case 1: {
  34.                FILE *f;
  35.                int i,j,N,T,l,c;
  36.                float s1,s2,s3,r,h,k,x,t,error,diferencia;
  37.                float zz;
  38.                float u[11][101];
  39.  
  40.                system("cls");
  41.  
  42.                cout<<"Metodo Explicito\n";
  43.                cout<<"\t\t digite un valor para r :";
  44.                cin>>y;
  45.  
  46.                f=fopen("explicito020.txt","w+");
  47.  
  48.                r=y;
  49.                h=0.1;
  50.                k=r*h*h;
  51.                N=10;
  52.                T=50;
  53.  
  54.                fprintf(f,"r=%4.2f,h=%4.2f,k=%6.4f \n ",r,h,k);
  55.                fprintf(f,"i j x t U[xi,yj] U[x,y] diferencia error \n ");
  56.                printf("i j x t U[xi,yj] U[x,y] diferencia error \n ");
  57.  
  58.                for(l=0;l<=N+1;l++) //valores de U con las condiciones iniciales{
  59.                    x=l*h;
  60.  
  61.                    if ((x>=0 ) & (x<= 0.5)) {
  62.                        u[l][0]=2*x+1;
  63.                        fprintf(f,"%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n ",l,0,x,0.0,u[l][0],u[l][0],0.0,0.0);
  64.                        printf("%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n",l,0,x,0.0,u[l][0],u[l][0],0.0,0.0);
  65.                    }//fin del if
  66.  
  67.                    if ((x>0.5 ) & (x<=1)){
  68.                        u[l][0]=3-2*x;
  69.                        fprintf(f,"%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n ",l,0,x,0.0,u[l][0],u[l][0],0.0,0.0);
  70.                        printf("%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n",l,0,x,0.0,u[l][0],u[l][0],0.0,0.0);
  71.                    } //fin del if
  72.                } //fin del for
  73.  
  74.                fprintf(f,"%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n",l,0,x,0.0,u[l][0],u[l][0],0.0,0.0);
  75.                printf("%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n",l,0,x,0.0,u[l][0],u[l][0],0.0,0.0);
  76.  
  77.                for(j=0;j<=100;j++) {
  78.                    u[0][j]=0.2;
  79.                    u[10][j]=0.4;
  80.                    t=(j+1)*k;
  81.  
  82.                    for (i=0;i<N+1;i++) {
  83.                        if ((i==0) || (i==10)) {
  84.                            x=i*h;
  85.                            fprintf(f,"%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n",i,j+1,x,t,u[j],u[j],0.0,0.0);
  86.                            printf("%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n",i,j+1,x,t,u[j],u[j],0.0,0.0);
  87.                        } else {
  88.                            x=i*h;
  89.                            t=(j+1)*k;
  90.                            s1=u[i-1][j];
  91.                            s2=u[j];
  92.                            s3=u[i+1][j];
  93.                            u[j+1]=r*s1+(1-2*r)*s2+r*s3;
  94.                            zz=U(x,t);
  95.                            diferencia=fabs(zz-u[j+1]);
  96.                            error=fabs((u[j+1]-zz)/zz)*100;
  97.                            fprintf(f,"%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n",i,j+1,x,t,u[j+1],zz,diferencia,error);
  98.                            printf("%d %d %5.3f %5.3f %6.4f %6.4f %6.4f %6.4f \n",i,j+1,x,t,u[j+1],zz,diferencia,error);
  99.                        }
  100.                    }
  101.                } // fin del for i}//fin del for j
  102.  
  103.                fclose(f);
  104.                printf("fin del programa");
  105.  
  106.                while((c = getchar()) != '\n' && c != EOF);
  107.                putchar(c);
  108.  
  109.                break;
  110.            }
  111.  
  112.            case 2: {
  113.                int i,j,c,l,s;
  114.                FILE *f1,*f;
  115.                int N=5;
  116.                float r=q;
  117.                float h=0.1;
  118.                float k=r*h*h;
  119.                float a[20][20],b[20][20],A[20],B[20],x,xx,diferencia,error,t,zzz;
  120.  
  121.                system("cls");
  122.  
  123.                cout<<"Metodo Implicito\n";
  124.                cout<<"\t\t digite un valor para r :";
  125.                cin>>q;
  126.  
  127.                f=fopen("implicito070.txt","w+");
  128.  
  129.                fprintf(f1,"PARA EL CASO IMPLICITO CRANCK NICHOLSON BVP \n");
  130.                fprintf(f1,"r=%3.2f, h=%3.2f,k=%5.3f \n",r,h,k);
  131.                fprintf(f1," i j x t U[i,j] Uanalitica diferencia error \n");
  132.                printf("PARA EL CASO IMPLICITO CRANCK NICHOLSON BVP r=%3.2f, h=%3.2f\n",r,h);
  133.                printf(" i j x t U[i,j] Uanalitica diferencia error \n");
  134.  
  135.                for (i=0;i<=2*N+1;i++) {
  136.                    x=i*h;
  137.  
  138.                    if((x>=0 ) & (x<=0.5)) {
  139.                        a=2*x+1;
  140.                        a[0][j]=0.2;
  141.                        a[10][j]=0.4;
  142.                        t=(j+1)*k;
  143.                        a[10-i][0]=a;
  144.                        zzz=a;
  145.                        diferencia=fabs(zzz-a);
  146.                        error=0;
  147.  
  148.                        fprintf(f1," %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,0,x,0.0,a
  149.                        ,zzz,diferencia,error);
  150.                        printf(" %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,0,x,0.0,a
  151.                        ,zzz,diferencia,error);
  152.                    } //fin del if
  153.  
  154.                    if ((x>0.5 ) & (x<1)){
  155.                        a=3-2*x;
  156.                        a[0][j]=0.2;
  157.                        a[10][j]=0.4;
  158.                        t=(j+1)*k;
  159.                        zzz=a[10-i][0];
  160.                        diferencia=fabs(zzz-a);
  161.                        error=diferencia/zzz*100;
  162.  
  163.                        fprintf(f1," %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,0,x,0.0,a
  164.                        ,zzz,diferencia,error);
  165.                        printf(" %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,0,x,0.0,a
  166.                        ,zzz,diferencia,error);
  167.                    }//fin del if
  168.  
  169.                    if (x==1){
  170.                        zzz=a[10-i][0];
  171.                        diferencia=fabs(zzz-a);
  172.                        error=0;
  173.  
  174.                        fprintf(f1," %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,0,x,0.0,a
  175.                        ,zzz,diferencia,error);
  176.                        printf(" %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,0,x,0.0,a
  177.                        ,zzz,diferencia,error);
  178.                    }
  179.                } // fin del for i para llenarlos valores iniciales
  180.  
  181.                for (j=0; j<20;j++) {
  182.                    for (i=1;i<N+1;i++) {
  183.                        if (i==1) {
  184.                            b=4.0;
  185.                            b[i+1]=-1;
  186.                            //rellena de ceros el lado derecho
  187.  
  188.                            for (l=i+2;l<N+1;l++) {
  189.                                b[l]=0.0;
  190.                            }
  191.  
  192.                            b[N+1]= (2-2*r)*a[j]+r*a[i+1][j];
  193.                            printf("\n");
  194.                            fprintf(f,"\n");
  195.                        }
  196.  
  197.                        if ((i>1) && (i!=N)) {
  198.                            if(i>2) {
  199.                                //rellena de ceros el lado izquierdo
  200.                                for (l=1;l<i-1;l++) {
  201.                                    b[l]=0.0;
  202.                                }
  203.                            }
  204.  
  205.                            b[i-1]=-1;
  206.                            b=4.0;
  207.                            b[i+1]=-1;
  208.  
  209.                            for (l=i+2;l<N+1;l++){
  210.                                b[l]=0.0;
  211.                            }
  212.  
  213.                            b[N+1]= r*a[i-1][j]+(2-2*r)*a[j]+r*a[i+1][j];
  214.                        }//fin del if i>1
  215.  
  216.                        if (i==N) {
  217.                            for (l=1;l<i-1;l++) {
  218.                                b[l]=0.0;
  219.                            }
  220.  
  221.                            b[N-1]=-2.0*r;
  222.                            b[N]=(2+2*r);
  223.                            b[N+1]= r*a[i-1][j]+(2-2*r)*a[j]+r*a[i+1][j];
  224.                            //a[i-1][j]+a[i+1][j];
  225.                            printf("\n");
  226.                        }
  227.                    }///fin del for I=1,N
  228.  
  229.                    printf("\n");
  230.                    //METODO GAUSS SIN PIVOTEO-METOD PROGONKA////
  231.                    //apli-camos progonka directa///
  232.                    A[1]=-b[1][2]/b[1][1];
  233.                    B[1]=b[1][N+1]/b[1][1];
  234.  
  235.                    for (i=2;i<N+1;i++) {
  236.                        if (i!= N) {
  237.                            A=-b[i+1]/(b+b[i-1]*A[i-1]);
  238.                        }
  239.  
  240.                        B=(b[N+1]-b[i-1]*B[i-1])/(b+b[i-1]*A[i-1]);
  241.                    }
  242.                    //ahora hallamos las soluciones
  243.                    //printf(&#915;Ç¥\n&#915;Ç¥);
  244.                    xx=B[N];
  245.                    //las soluciones son los elementos del vector a[j] a[N][j+1]=xx;
  246.                    printf( "a[%d][%d]= %6.4f \n",N,j+1,a[N][j+1]);
  247.  
  248.                    l=N;
  249.  
  250.                    while (l>0) {
  251.                        s=10-l;
  252.                        xx=A[l]*xx+B[l];
  253.                        a[l][j+1]=xx;
  254.  
  255.                        a[j+1]=xx;
  256.                        fprintf(f1, "a[%d][%d]= %6.4f \n",l,j+1,a[j+1]);
  257.                        printf( "a[%d][%d]= %6.4f \n",l,j+1,a[l][j+1]);
  258.                        l=l-1;
  259.                    }
  260.  
  261.                    printf("\n");
  262.                    t=k*(j+1);
  263.  
  264.                    for (i=0;i<2*N+1;i++) //ahora escribe las soluciones en el archivo de texto{
  265.                        x=i*h;
  266.  
  267.                        if ((i==0) || (i==2*N)) {
  268.                            printf(" %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,j+1,x,t,0.0,0.0,0.0,0.0);
  269.                            fprintf(f1," %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,j+1,x,t,0.0,0.0,0.0,0.0);
  270.                        } else {
  271.                            zzz=U(x,t);
  272.                            diferencia=fabs(zzz-a[j+1]);
  273.                            error=diferencia/zzz*100;
  274.  
  275.                            fprintf(f1," %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,j+1,x,t,a[j+1],zzz,diferencia,error);
  276.                            printf(" %d %d %6.4f %6.4f %6.4f %6.4f %6.4f %6.4f \n", i,j+1,x,t,a[j+1],zzz,diferencia,error);
  277.                        }
  278.                    }
  279.                }//fin del j principal fclose(f);
  280.  
  281.                fclose(f1);
  282.  
  283.                while((c = getchar()) != '\n' && c != EOF);
  284.  
  285.                break;
  286.            }
  287.        };
  288.    } while(opc<=2);
  289.  
  290.    return 0;
  291. }
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real) « 1 2 3 »
Nivel Web
OzX 27 17,521 Último mensaje 21 Abril 2009, 02:46 am
por OzX
Problemas al decidir que estudiar, atrapado en la típica paradoja, mi caso es..?
Dudas Generales
DParadoja 4 3,002 Último mensaje 13 Septiembre 2014, 20:58 pm
por Darioo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines