Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Debug Error: HEAP CORRUPTION DETECTED

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
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;
}


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.07.2010, 15:24 Uhr
ao

(Operator)


Wie groß ist n?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
06.07.2010, 17:47 Uhr
~CoolJoe
Gast


hi ao

n ist variabel und in file inputn einlesbar

im moment ist es auf 1000
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
06.07.2010, 18:19 Uhr
ao

(Operator)


Du prüfst weder fopen noch fscanf, d.h. wenn da irgendwas schiefgeht, dann bleibt n uninitialisiert. Mach mal mindestens ein cout von allen eingelesenen Variablenwerten, und wenn irgendwas seltsam aussieht, poste die Input-Dateien.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
07.07.2010, 11:35 Uhr
ao

(Operator)


Offensichtlich hast du es hinbekommen. Was wars denn?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: