Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

C++ MicrosoftVisualStudio.NET System.StackOverflowException





Frage

Ich habe ein etwas längeres Programm beschrieben, daß Matritzen clusteranalytisch bearbeiten soll. Dabei simmuliere ich fehlende Werte, indem ich immer einen bestimmten Anteil der Matrixeinträge mittels Zufallszahl gleich Null setzen lasse. Also, wenn ich fünf Prozent fehlende Werte haben möchte und die Dimension der [code]Matrix n*m ist, dann (etwas vereinfacht): g=0.05; counter=0; while(counter!=floor(g*n*m)){ rv1= (rand()%n)+1; rv2= (rand()%m)+1; if(S[rv1][rv2]!=0){ //Null repräsentiert fehlende Werte S[rv1][rv2]=0 counter += 1; } } Wenn ich dieses Programm jetzt mit m=102 und n=104 oder so laufen lasse, funktioniert alles tadellos. Wenn ich die Dimensionen aber weiter erhöhe (z.B. n=1200,m=1000), verlinkt er das Programm zunächst auch. Beim Versuch, das Programm dann rechnen zu lassen, kommt es zum ´System.StackOverflowException´. Kann das an den Zufallszahlen liegen? Wie kann ich das Programm für höhere Werte von n und m zum laufen liegen? [/code]

Antwort von



Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: