Erros, bugs, perguntas - página 2494

 
Сергей Таболин:
Roman, antes de dar uma palestra, aprenda por si próprio.

Uma vez que se dirige à comunidade em busca de ajuda, ninguém lhe vai ensinar.
Eu queria ajudar-vos, mas é realmente difícil ver onde declararam e onde se apropriaram.
Poderia pelo menos ter separado arrays por blocos, para legibilidade )) mas não importa, eu já descobri.
Tente passar pelos loops no depurador, verá onde está o problema.

 

@Sergey Tabolin

Que valores podem ser tomados emequilíbrio_arr_size?

Como é definido obalance_arr?

 
Francuz:

@Sergey Tabolin

Que valores podem ser tomados emequilíbrio_arr_size?

Como é definido obalance_arr?

Não há qualquer problema com isso. São utilizados antes desta secção de código e não levantam quaisquer questões.

Encontrei o erro no preenchimento da matriz.

   // коррекция
   int      correcton_index[3];
   ArrayInitialize(correcton_index,NULL);
            correcton_index[0]   = 1;
            correcton_index[1]   = (int)MathRound(balance_arr_size / 2);
            correcton_index[2]   = balance_arr_size;
   int      correcton_index3[5];
   ArrayInitialize(correcton_index3,NULL);
            correcton_index3[0]  =  1;
            correcton_index3[1]  = (int)MathRound(correcton_index[1] / 2);
            correcton_index3[2]  = correcton_index[1];
            correcton_index3[3]  = (int)MathRound((correcton_index[2] - correcton_index[1]) / 2) + correcton_index[1];
            correcton_index3[4]  = balance_arr_size;
   int      correcton_index7[9];
   ArrayInitialize(correcton_index7,NULL);
            correcton_index7[0]  = 1;
            correcton_index7[1]  = (int)MathRound(correcton_index3[1] / 2);
            correcton_index7[2]  = correcton_index3[1];
            correcton_index7[3]  = (int)MathRound((correcton_index3[2] - correcton_index3[1]) / 2) + correcton_index3[1];
            correcton_index7[4]  = correcton_index3[2];
            correcton_index7[5]  = (int)MathRound((correcton_index3[3] - correcton_index3[2]) / 2) + correcton_index3[2];
            correcton_index7[6]  = correcton_index3[3];
            correcton_index7[7]  = (int)MathRound((balance_arr_size - correcton_index3[3]) / 2) + correcton_index3[3];
            correcton_index7[8]  = balance_arr_size;

Sem ele, os valores revelaram-se incorrectos mas o mais interessante foi que alguns dos valores eram negativos. De forma correspondente, ao tentar abordar um item de matriz com índice [-6], o programador obteve uma ultrapassagem da matriz.

Devia ter imprimido tudo desde o início (eu queria) e verificado os valores ))))

 
Сергей Таболин:

Não há qualquer problema com isto. São utilizados antes desta parte do código e não causam quaisquer problemas.

Encontrei o erro no preenchimento da matriz.

Sem ele os valores revelaram-se incorrectos, mas o mais interessante é que alguns valores se revelaram negativos. De forma correspondente, ao tentar abordar um item de matriz com índice [-6], o programador obteve uma saída fora da matriz.

Devia ter imprimido tudo no início (eu queria) e verificado os valores )))

Eu estava a falar da fonte. E a origem do problema está apenas nestas duas variáveis(balance_arr_size ebalance_arr) o resto do código depende delas.

 
Francuz:

Eu estava a falar da fonte. E a fonte do problema são apenas estas duas variáveis(balance_arr_size ebalance_arr) o resto do código depende delas.

Eles não têm absolutamente nada a ver com isto. O erro estava no cálculo do índice.

 
Сергей Таболин:

Eles não tiveram absolutamente nada a ver com isso. O erro estava no cálculo do índice.

Então há duas possibilidades, ou deu o código corrigido no primeiro post, ou não vê que todos os índices são definidos por variávelde tamanho_arr_balanço?

 
Francuz:

Então há duas possibilidades, ou deu o código corrigido no primeiro post, ou não vê que todos os índices são definidos através da variável balance_arr_size?

O código corrigido é de três posts acima. Olhe através dele cuidadosamente e esperançosamente compreenderá que o balance_arr_size não pode afectar de forma alguma o erro. Mais uma vez, vamos soletrar - o erro estavano parsha do I n d e c s o !!!

Ou está a dizer que eu encontrei o erro ERRADO ? Atribua qualquer valor à variável (e neste contexto, à variável estática) balance_arr_size e calcule numa calculadora o que obtém na primeira versão e o que obtém na segunda.

A propósito, já é o segundo a esfregar persistentemente o seu ponto de vista. E depois haverá declarações: "Oh, eu não vi, oh, eu não olhei muito de perto...".

 
Сергей Таболин:

O código corrigido é de três posts acima. Olhe mais de perto, e esperemos que compreenda que o balance_arr_size não pode afectar de forma alguma o erro. Mais uma vez, soletra-o - o erro estava no parsha do I n d e c o n s!!!

Ou está a dizer que eu encontrei o erro ERRADO ? Atribua qualquer valor à variável (e neste contexto, à variável estática) balance_arr_size e calcule numa calculadora o que obtém na primeira versão e o que obtém na segunda.

A propósito, já é o segundo a esfregar persistentemente o seu ponto de vista. E depois haverá declarações: "Oh, eu não vi, oh, eu não olhei através...".

Com tal forma de falar, da próxima vez terá razão e terá de ser você mesmo a encontrá-la.
No seu código, não mostrou quantos elementosbalance_arr contémquando odeclara.
Foi-lhe dito correctamente para verificar quantos elementosbalance_arr array são declarados.
Não somos telepatas para adivinhar que matriz é e como é declarada. É por isso que sugerem possíveis pontos problemáticos.
Se tudo estiver bem aí, o problema está realmente apenas no cálculo da indexação.
E, por favor, mude o seu tom de voz.
Sinceramente, da próxima vez que falar assim, quase ninguém vai sequer olhar para o seu código.
Boa sorte com isso.

 
Roman:

Com uma tal forma de comunicação, da próxima vez terá razão e encontrá-la-á você mesmo.
No seu código, não mostrou quantos elementos balance_arr contém na declaração.
Foi-lhe dito correctamente para verificar quantos elementos balance_arr array são declarados.
Não somos telepatas para adivinhar que matriz é e como é declarada. É por isso que sugerem possíveis pontos problemáticos.
Se tudo estiver bem aí, o problema está realmente apenas no cálculo da indexação.
E, por favor, mude o seu tom de voz.
Sinceramente, da próxima vez que usar esse tom de voz, duvido que alguém olhe sequer para o seu código.
Boa sorte com isso.

Engraçado ))))

Isso significa que é culpa minha que alguns indivíduos precisem de repetir a mesma coisa várias vezes? E soletrar? Especialmente depois de dizer que eu próprio encontrei o erro? Que merda! Se não compreende russo, é melhor nem sequer tentar "ajudar".

 
Сергей Таболин:

Engraçado ))))

Isso significa que é culpa minha que alguns indivíduos precisem de repetir a mesma coisa várias vezes? E soletrar? Especialmente depois de dizer que eu próprio encontrei o erro? Que merda! Se não entende russo, é melhor não tentar "ajudar".

Ainda não sabe do que estou a falar. Eu não estava a falar de um erro no seu código. Estava a falar do erro de afixar um pedaço de código onde dois termos-chave estão indefinidos. A fonte do problema é que não definiu os dois termos-chave e está a pedir ajuda.

Razão: