16/01/09 15:31
kyu2t
salve, come sempre il magico errore di segmenttazione colpisce ancora, sono due giorni che tento di far partire un programmino.. ma niente. mi da tale errore appena entro nel main, senza nemmeno aspettare che dichiari qualche variabile, e per me è molto strano, poichè non ha fatto assolutamente nulla oltre che caricare qualche libreria.
ad ogni modo vi posto il sorgente, se c'è qualcuno che mi possa dare una mano a sbrogliare questo broblema..
ad ogni modo vi posto il sorgente, se c'è qualcuno che mi possa dare una mano a sbrogliare questo broblema..
#include <mathlink.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <math.h> #include <time.h> double Sys_x(double angle, double a, double b, double d, double c); double Sys_y(double angle, double a, double b, double d, double c); int rotor(double a, double b, double d); int main() { double var1; double var2; double var3; double index; int check=0; FILE *fp; double i,j,k; do { index=40000000; var1=sqrt(-1); var2=sqrt(-1); var3=sqrt(-1); for(i=0;i<index;i=i+(1/1000000)) { for(j=0;j<index;j=j+(1/1000000)) { for(k=0;k<index;k=k+(1/1000000)) { check=rotor(var1,var2,var3); if(check==1) { if ((fp = fopen("rotor", "a+")) ==NULL) { printf("Error opening file\n"); exit(1); } else { fprintf(fp,"%f",var1); fprintf(fp,"||"); fprintf(fp,"%f",var2); fprintf(fp,"||"); fprintf(fp,"%f",var3); fprintf(fp,"\n"); } fclose(fp); } } } } }while(check==1); printf("execution done\n"); getch(); return(0); } int rotor(double a,double b,double d) { int n; double c=0; double angle= -(3.14159265358979/6); double x[100000]; double y[100000]; double z[100000][2]; int err; if((a>b)&&(a+b>sqrt((c*c)+(d*d)))) { n=0; for(n=0;n<100000;n++) { angle= angle+0.00001047; x[n]=Sys_x(angle,a,b,c,d); y[n]=Sys_y(angle,a,b,c,d); } err=0; n=0; do{ n=n+1; if(x[n]== sqrt(-1)) err=1; if(y[n]== sqrt(-1)) err=1; }while((err==0)&&(n<100000)); if(err==0) { angle= -(3.14159265358979/6); for(n=0;n<1000000;n++) { z[n][0]=sqrt((x[n]*x[n]) + (y[n]*y[n])); z[n][1]=angle + 0.00001047; printf("FIND1!!!\n"); } } return(1); } else { printf("DOH!!!\n"); return(0); } }
aaa