Errores, fallos, preguntas - página 2494

 
Сергей Таболин:
Roman, antes de dar lecciones, aprende por ti mismo.

Dado que recurres a la comunidad en busca de ayuda, nadie te va a enseñar.
Quería ayudarte, pero es muy difícil ver dónde has declarado y dónde te has apropiado.
Al menos podrías haber separado los arrays por bloques, para facilitar la lectura )) pero no importa, ya lo he resuelto.
Intenta recorrer los bucles en el depurador, verás donde está el problema.

 

@Sergey Tabolin

¿Qué valores puede tomarbalance_arr_size?

¿Cómo se definebalance_arr?

 
Francuz:

@Sergey Tabolin

¿Qué valores puede tomarbalance_arr_size?

¿Cómo se definebalance_arr?

No hay ningún problema con eso. Se utilizan antes de esta sección del código y no causan ninguna duda.

He encontrado el error al rellenar la 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;

Sin ella, los valores resultaron ser incorrectos, pero lo más interesante fue que algunos de los valores eran negativos. En consecuencia, al intentar abordar un elemento del array con el índice [-6], el programador obtuvo un desbordamiento del array.

Tendría que haber desimpreso todo desde el principio (quería hacerlo) y comprobar los valores )))

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

No hay ningún problema con esto. Se utilizan antes de esta parte del código y no causan ningún problema.

He encontrado el error al rellenar la matriz.

Sin ella, los valores resultaron ser incorrectos, pero lo más interesante es que algunos valores resultaron ser negativos. En consecuencia, al intentar dirigirse a un elemento del array con índice [-6], el programador obtuvo una salida fuera del array.

Debería haber desimpreso todo al principio (quería hacerlo) y comprobar los valores )))

Me refería a la fuente. Y el origen del problema está justo en estas dos variables(balance_arr_size ybalance_arr) el resto del código depende de ellas.

 
Francuz:

Me refería a la fuente. Y el origen del problema son sólo estas dos variables(balance_arr_size ybalance_arr) el resto del código depende de ellas.

No tienen absolutamente nada que ver. El error estaba en el cálculo del índice.

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

No tienen absolutamente nada que ver. El error estaba en el cálculo del índice.

Entonces hay dos posibilidades, o has dado el código corregido en el primer post, o no ves que todos los índices están definidos por la variablebalance_arr_size?

 
Francuz:

Entonces hay dos posibilidades, o has dado el código corregido en el primer post, o no ves que todos los índices se definen a través de la variable balance_arr_size?

El código corregido está tres puestos más arriba. Míralo detenidamente y espero que entiendas que balance_arr_size no puede afectar al error de ninguna manera. Una vez más, deletérelo: ¡¡¡el error estabaen la p parsha del I n d e s c o w!!!

¿O está diciendo que he encontrado el error EQUIVOCADO? Asigna cualquier valor a la variable (y en este contexto, la variable estática) balance_arr_size y calcula en una calculadora lo que obtienes en la primera versión y lo que obtienes en la segunda.

Por cierto, ya eres el segundo que se empeña en rozar su punto. Y luego habrá declaraciones: "Oh, no vi, oh, no miré a través de...".

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

El código corregido está tres puestos más arriba. Mira más de cerca, y espero que entiendas que balance_arr_size no puede afectar al error de ninguna manera. Una vez más, deletérelo: ¡¡¡el error estaba en la parsha del I n d e c o n s i d e r o !!!

¿O está diciendo que he encontrado el error EQUIVOCADO? Asigna cualquier valor a la variable (y en este contexto, la variable estática) balance_arr_size y calcula en una calculadora lo que obtienes en la primera versión y lo que obtienes en la segunda.

Por cierto, ya eres el segundo que se empeña en rozar su punto. Y luego habrá declaraciones: "Oh, no vi, oh, no miré a través de...".

Con esa forma de hablar, la próxima vez tendrás razón y tendrás que encontrarla tú mismo.
En tu código, no has mostrado cuántos elementos contienebalance_arr aldeclararlo.
Se le dijo correctamente para comprobar cuántos elementosbalance_arr matriz se declara.
No somos telépatas para adivinar qué matriz es y cómo se declara. Por eso sugieren posibles puntos conflictivos.
Si todo está bien ahí, el problema está realmente en el cálculo de la indexación.
Y, por favor, cambia tu tono de voz.
Sinceramente, la próxima vez nadie mirará tu código con esa forma de hablar.
Buena suerte con eso.

 
Roman:

Con esta forma de comunicación, la próxima vez que tengas razón, la encontrarás tú mismo.
En tu código, no has mostrado cuántos elementos contiene balance_arr en la declaración.
Se le dijo correctamente para comprobar cuántos elementos balance_arr matriz se declara.
No somos telépatas para adivinar qué matriz es y cómo se declara. Por eso sugieren posibles puntos conflictivos.
Si todo está bien ahí, el problema está realmente en el cálculo de la indexación.
Y, por favor, cambia tu tono de voz.
Sinceramente, la próxima vez que utilices ese tono de voz, dudo que nadie mire siquiera tu código.
Buena suerte con eso.

Divertido ))))

¿Significa eso que es culpa mía que algunos individuos tengan que repetir lo mismo varias veces? ¿Y deletrearlo? ¿Especialmente después de decir que yo mismo encontré el error? ¡Maldita sea! Si no entiendes el ruso, mejor ni intentes "ayudar".

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

Divertido ))))

¿Significa eso que es culpa mía que algunos individuos tengan que repetir lo mismo varias veces? ¿Y deletrearlo? ¿Especialmente después de decir que yo mismo encontré el error? ¡Maldita sea! Si no entiendes el ruso, mejor no intentes "ayudar".

Sigues sin saber de qué estoy hablando. No me refería a un error en tu código. Me refería al error de publicar un fragmento de código en el que dos términos clave están indefinidos. El origen del problema es que no has definido los dos miembros clave y estás pidiendo ayuda.