se apagados:// if(i3===2 && i2===3 && i1====8) Print("wrong exp!!!! call");
mais uma vez será um loop infinito :)
i1 é igual a 7 após o fim do laço, embora o índice máximo da terceira dimensão seja 6. É suposto estar fora de alcance, mas se não estiver, é bem possível que a corda
out[i3][i2][i1] = f(sum + WT[i3][i2]);
pode sobrescrever o valor de i2, por exemplo. Mas neste caso é um erro no compilador de mql.
Pode mover, por exemplo, a definição da matriz para variáveis globais - então o comportamento do código acima deve mudar.
IgorM: Tenho-o anexado, nesta forma o guião entra num loop infinito.
Tenho Zero Devide com ou sem uma impressão, em
double f(double x){return(1/(1+MathExp(-1*x)));}
Em geral, a i1 toma um valor errado. Embora devesse estar fora do alcance de fora[][][7]. O compilador deve considerar restrições baseadas na multiplicação de todas as dimensões (3 * 7 * 7 = 147) em vez de cada uma delas. Por exemplo, se for atribuída a i1 8, a impressão ainda imprime alguns valores. Obviamente, é um erro de compilação ao verificar os limites da matriz.
notused: Aparentemente, o compilador calcula as restrições procedentes da multiplicação de todas as dimensões (3 * 7 * 7 = 147) e não de cada uma delas. Por exemplo, se a i1 for atribuída a 8, a impressão ainda produz alguns valores. Obviamente, é um erro de compilação ao verificar os limites da matriz.
O sistema de tempo de execução calculou estupidamente a compensação e nada acontecerá se índices incorrectos estiverem envolvidos no cálculo, mas não ultrapassou os limites da matriz. Mas se verificar os índices de uma forma inteligente, cada um deles separadamente, obterá atrasos concretos na execução.
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Sim, eu sei, e citei o código que não causa erro de execução, mas faz loops no guião
a última impressão não é produzida?
Ou o penúltimo?
E a última chamada do expoente não congela?
Algoritmo atinge que linha?
colocou as impressões em todo o lado?
Sim, não é.
Sim, não é.
repetir a pergunta - tem um expoente calculado para 2/3/8?
e também tem um aspecto estranho.
1071644672de onde é que vem?fez com que fosse assim:
no diário de bordo:
se comentado: // if(i3===2 && i2===3 && i1====8) Print("incorrect exp!!!! call");
mais uma vez conduzirá a um loop infinito :)
se apagados:// if(i3===2 && i2===3 && i1====8) Print("wrong exp!!!! call");
mais uma vez será um loop infinito :)
i1 é igual a 7 após o fim do laço, embora o índice máximo da terceira dimensão seja 6. É suposto estar fora de alcance, mas se não estiver, é bem possível que a corda
pode sobrescrever o valor de i2, por exemplo. Mas neste caso é um erro no compilador de mql.
Pode mover, por exemplo, a definição da matriz para variáveis globais - então o comportamento do código acima deve mudar.
será novamente um loop infinito :)
Penso que o erro está na própria impressora.
Descubra o que está nas linhas anteriores. uma vez que o último expoente não deve ser executado. o índice excede
Penso que o problema está no seu código.
e também parece estranho.
1071644672de onde é que veio?Tenho-o anexado, nesta forma o guião entra num loop infinito.
Tenho Zero Devide com ou sem uma impressão, em
Em geral, a i1 toma um valor errado. Embora devesse estar fora do alcance de fora[][][7]. O compilador deve considerar restrições baseadas na multiplicação de todas as dimensões (3 * 7 * 7 = 147) em vez de cada uma delas. Por exemplo, se for atribuída a i1 8, a impressão ainda imprime alguns valores. Obviamente, é um erro de compilação ao verificar os limites da matriz.Aparentemente, o compilador calcula as restrições procedentes da multiplicação de todas as dimensões (3 * 7 * 7 = 147) e não de cada uma delas. Por exemplo, se a i1 for atribuída a 8, a impressão ainda produz alguns valores. Obviamente, é um erro de compilação ao verificar os limites da matriz.
Fora de alcance não é do compilador. Isto é um erro de tempo de execução.
O sistema de tempo de execução calculou estupidamente a compensação e nada acontecerá se índices incorrectos estiverem envolvidos no cálculo, mas não ultrapassou os limites da matriz. Mas se verificar os índices de uma forma inteligente, cada um deles separadamente, obterá atrasos concretos na execução.