000
06.07.2010, 14:28 Uhr
~CoolJoe
Gast
|
Hi, nachdem mein erstes Problem so souverän gelöst wurde, hat sich gleich ein weiteres gestellt: Bei Debugging tut sich dieses Fenster auf:
Debug Error
Program: ...Studio2008...exe
HEAP CORRUPTION DETECTED: after normal block (#125) at ... CRT detected that the application wrote to memory after end of heap buffer.
(Press Retry to debug the application)
Habe keine Ahnung was machen, die Array-Plätze sollten ja eigentlich nicht überfordert sein...
Hier noch einmal der aktuelle Code:
C++: |
#include <cstdlib> #include <stdio.h> #include <string> #include <windows.h> #include <iostream> #include <fstream> #include <math.h>
using namespace std; int main() { FILE *outp, *inp; int n; float dt;
inp=fopen("Inputn.txt","r"); fscanf(inp,"%i",&n); fclose(inp);
float *ax=new float[n]; float *vx=new float[n]; float *sx=new float[n]; float *ay=new float[n]; float *vy=new float[n]; float *sy=new float[n]; float sx0; float sy0; float Winkel; float ObereGrenze; float Veraenderungt; float mB; float rB; float v0;
//{ inp=fopen("Input.txt","r"); fscanf(inp," %f %f %f",&sx0,&sy0,&v0); fclose(inp);
Winkel=15*3.14159265/180;
ax[0]=0; ay[0]=-9.81; vx[0]=v0*cos(Winkel); vy[0]=v0*sin(Winkel); sx[0]=sx0; sy[0]=sy0;
int i;
for (int i=0; i<n-1; i++) {
ax[i+1]=0; ay[i+1]=-9.81; vx[i+1]=vx[i]+ax[i]*dt; vy[i+1]=vy[i]+ay[i]*dt; sx[i+1]=sx[i]+vx[i]*dt; sy[i+1]=sy[i]+vy[i]*dt;
}
for (int i=1; i<n; i++) { outp=fopen("Output.txt","w"); fprintf(outp,"%f %f",sx[i],sy[i]); fclose(outp); }
cout<<"Ende \n\n";
delete[] ax; delete[] ay; delete[] vx; delete[] vy; delete[] sx; delete[] sy;
return 0; }
|
|