Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: angoav98 en 21 Febrero 2012, 03:09 am



Título: Optimizar código sobrecargado en c++
Publicado por: angoav98 en 21 Febrero 2012, 03:09 am
hola!.
primera vez que usaré el foro. Bien. No soy muy experto en C++, hago un codigo para simular comportamiento de unas luces, pero la secuencia que requiero, es muy extensa, y las limitaciones que tengo de programacion son artas. para hacer lo que quiero, tengo 7 secuencias como las siguientes: (son similares solo cambian valores de las variables)

for(j=0;j<6;j++){
retardo(1050);
x=1;
retardo(500);
x=0;
y=1;
retardo(500);
z=1;
retardo(1050);
y=0;
w=1;
retardo(500);
x=0;
retardo(500);
retardo(1050);
z=0;
y=1;
retardo(500);
y=1;
retardo(500);
retardo(1050);
z=0;
x=1;
retardo(500);
y=0;
retardo(500);
retardo(1050);
x=0;
y=1;
retardo(500);
w=1;
retardo(500);
retardo(1050);
w=0;
z=1;
retardo(500);
x=0;
retardo(500);
retardo(1050);
y=0;
z=1;
retardo(500);
w=1;
retardo(500);
retardo(1050);
y=0;
x=1;
retardo(500);
z=0;
retardo(500);
}

como son 7 for como el anterior pues no se, al correr el programa parece que hay sobrecarga, no lo ejecuta bien y aparte algunos ciclos ni los hace. Me dijeron que era problema de optimizar el codigo.
Y como no tengo mucha experiencia en programacion pues acudi a ustedes haber si me dan una sugerencia de como hacerlo. Según sé, sería hacer un array ó arreglo, asi saldría mas corto, pero no se como hacerlo.... Me podrían decir como puedo hacer para mejorar ésto?.. alguna sugerencia?.... como sería con los vectores?... Espero me puedan ayudar, se trata de mejorar el código, hacerlo mas corto o algo... Muchas Gracias!!!


Título: Re: Optimizar código sobrecargado en c++
Publicado por: Xandrete en 21 Febrero 2012, 14:50 pm
¿Sobrecarga? No, lo que pasa es que con códigos tan grandes no es difícil equivocarte. Hay códigos cientos de veces más grandes que el tuyo, y si en algún momento tienen algún problema es por algún desliz del programador. Se me ocurre que tal vez tengas un error en la función retardo (como no sé lo que hace exactamente, no te puedo decir). Por otro lado, si tienes 7 funciones iguales que ésta pero cambiando únicamente algunos valores, sugiero poner esta iteración en una función aparte y sustituir los valores concretos por parámetros (que se los pasarías a la función al invocarla). De esta manera, en vez de tener este tocho 7 veces lo tienes una sola vez, y así sería más fácil controlar los fallos, además de que tendrías un código más compacto y, por ende, más legible.

Saludos.