
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
No sé...
En mi opinión, tanto estos bloques "vacíos" como los "bucles infinitos" (ya sean for o while) son un mal estilo de programación, peligroso por los errores que pueden producirse.
El operador de comprobación de la condición del bucle no debe carecer de sentido, sino que debe llevar alguna carga. Si tenemos un "bucle infinito", significa que hay algunas salidas y rupturas adicionales dentro del bucle y no siempre son obvias. Por cierto, a mí tampoco me gusta el operador break, siempre uso el operador continue en un bucle.
Y como se dijo aquí la ofuscación del código es simplemente infantil... Se reunieron aquí grandes programadores-copistas que tienen miedo de que alguien venda su código o consiga millones de dólares de otras maneras... ¡El orgullo es uno de los pecados capitales!
no están de acuerdo.
Intenta reescribir este código sin el bucle infinito y el break
no están de acuerdo.
Intenta reescribir este código sin el bucle infinito y el break
Una tarea interesante.
En mi opinión, el código presentado es bastante "opaco" y difícil de entender, aunque la estructura es clara para mí, y la función es útil.
A primera vista, el bucle debería ser while (i<size) {....}, pero aún no lo he entendido bien.
En cuanto lo tenga en mis manos, me pondré a ello.
Una tarea interesante.
En mi opinión, el código presentado es bastante "opaco" y difícil de entender, aunque la estructura es clara para mí y la función es útil.
A primera vista, el bucle debería ser while (i<size) {....}, pero todavía no lo he entendido bien.
En cuanto me ponga a ello, lo haré.
La función elimina todos los valores val del array a[] y lo compacta, eliminando los "huecos" de los elementos eliminados sin cambiar la secuencia de datos.
La función borra todos los valores val del array a[] y lo compacta, eliminando los "huecos" de los elementos borrados sin cambiar la secuencia de datos.
Sí, sí, te lo dije - el propósito es claro, la función en sí es útil. Ahora no puedo todavía, más tarde voy a averiguar cómo funciona, y voy a reescribirlo sin bucle infinito. Bueno, y luego - voy a escribir mi variante de la función, como lo haría.
Sí, sí, te lo dije - el propósito es claro, la función en sí es útil. Ahora no puedo todavía, más tarde voy a ordenar mi trabajo y reescribirlo sin bucle infinito. Bien, y entonces - escribiré mi versión de la función, como la escribiría yo.
el código fue tomado de aquí. Hace un año y medio hubo un concurso espontáneo.
no están de acuerdo.
Intenta reescribir este código sin el bucle infinito y el break
Sí está claro que hay variantes más compactas, pero más lentas.
Tu variante es 2-3 veces más lenta que la anterior y hay un error en alguna parte, porque da una suma de comprobación errónea.
Estamos hablando de la opción más rápida sin HashSet.
No sé...
En mi opinión, tanto los bloques "vacíos" como los "bucles infinitos" (ya sean for o while) son un mal estilo de programación, peligroso por los errores que puede provocar.
El operador de comprobación de la condición del bucle no debe carecer de sentido, sino que debe llevar alguna carga. Si tenemos un "bucle infinito", significa que hay algunas salidas o rupturas adicionales dentro del bucle y no siempre son obvias. Por cierto, a mí tampoco me gusta el operador break, siempre uso el operador continue en un bucle.
Y como se dijo aquí la ofuscación del código es simplemente infantil... Grandes programadores-copistas reunidos aquí que tienen miedo de que alguien venda su código o consiga millones de dólares de otras maneras... ¡El orgullo es uno de los pecados capitales!
Maxim, no funciona así, debería haber 2 ciclos, si no, no hay manera. Primero se eliminan los elementos innecesarios y luego se "encoge" el array hacia arriba (float). El segundo bucle está dentro del primero.
Una construcción for implica la comprobación de una condición y la salida antes de que se inicie el ciclo.
Una construcción while implica comprobar una condición y salir antes de que el bucle termine.
Un bucle infinito implica comprobar la condición y salir en cualquier punto del bucle.