for(k=0;k<=n-2;k++)for(i=k+1;i<=n-1;i++) { if(!B[k][k]) { for(i1=0;i<=n-1;i++) { w[i1]=B[i1][k]; B[i1][k]=B[i1][k+1]; B[i1][k+1]=w[i1]; } cp++; } Print(__FUNCTION__+": i=",i); c=1.0*B[i][k]/B[k][k]; for(j=0;j<=n-1;j++) B[i][j]-=B[k][j]*c; }
2019.03.31 00:07:28.689 (GBPUSD,H1) array out of range in 'SSA.mqh' (147,14)
for(i1=0;i1<=n-1;i1++) { w[i1]=B[i1][k]; B[i1][k]=B[i1][k+1]; B[i1][k+1]=w[i1]; }
muss i1 überall in for() sein ?
leonerd:
muss i1 überall in for() sein ?
Du bist der Dummkopf.
Алексей Тарабанов:
Sie sind selbst ein Narr.
Hotline des russischen Gesundheitsministeriums:8 800 550 99 03
Es gibt einen Fehler nach dem anderen. Array-Überläufe und Division durch 0.
Und ich weiß nicht, wie ich es korrigieren kann, da ich nicht verstehe, worum es in dieser Bibliothek überhaupt geht....
Diese Schleife, zum Beispiel:
for(k=0;k<=n-2;k++)for(i=k+1;i<=n-1;i++) { if(!B[k][k]) { for(i1=0;i<=n-1;i++) { w[i1]=B[i1][k]; B[i1][k]=B[i1][k+1]; B[i1][k+1]=w[i1]; } cp++; } c=1.0*B[i][k]/B[k][k]; for(j=0;j<=n-1;j++) B[i][j]-=B[k][j]*c; }Wenn sie die innere Schleife für erreicht (und das tut sie, weil B[k][k] gleich Null ist), dann überschreitet i bereits die äußere Schleifengrenze, d.h. i wird größer als n-1. Und dann, beim Zugriff auf B[i], erhalten wir einen Ausgang jenseits der Grenzen des Arrays, denn durch einen erstaunlichen Zufall ist seine Größe gleich n.
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
FullSSA:
Neu zeichnender Oszillator basierend auf der SSA.mqh singular transformation Funktions-Bibliothek
Autor: Nikolay Kositsin