Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - CalgaryCorpus

#151
Programación C/C++ / Re: Ayuda con programa
8 Diciembre 2018, 16:10 PM
Sugiero hacer un cambio en esta parte

if(puntosHumano == puntosMaquina)
        ganador += rand() % 2;


pues depende mucho del valor de las constantes, y que valor tiene "ganador" antes de llegar aqui, y si una de las constantes esta separada exactamente en 1 de la otra.

Cambiando ligeramente el codigo todas estas dependencias ya no estaran.

Ejemplo:

if(puntosHumano == puntosMaquina) {
       if( rand() % 2 ) {
          ganador = MAQUINA;
       }
}


Con esta modificacion, no importa el valor de las constantes, o que esten separadas en 1 una de otra, podrian ser otros valores y estar separadas en mas de 1 sus valores.
#152
Programación C/C++ / Re: Error en compilación!
8 Diciembre 2018, 15:13 PM
Fíjate en el nombre que le pusiste a la función y como la invocaste. Hay una diferencia allí.
#153
Dices sentencias pero no das argumentas.
Que es lo que "no va a funcionar" y por que dices que no va a funcionar?




#154
El cout no es para funciones?
No se que quisiste decir.
Algo así quise decir yo.
Código (cpp) [Seleccionar]
void pedir(char *mensaje) {
   // Posiblemente algunas instrucciones antes
   cout << mensaje;
   // Otras instrucciones antes
}


Instrucciones antes o después pueden ser los fflush, etc.
#155
Para complementar la didáctica respuesta anterior:

Cada vez que se usa esto:
*(p+i) puede cambiarse por p[i] si te acomoda más la notación de arreglos.
#156
crear una funcion que reciba el string a mostrar y que internamente haga el cout, el fgets o gets y el fflush.
#157
Tengo la impresion que este do - while se ejecutara por siempre. La condicion es una tautologia.

Citar
do{

}while (strcmp(str,"cadena 1")!=0 || strcmp(str,"cadena 2")!=0);

#158
Si no necesitas conservar el orden, al momento de borrar puedes copiar el ultimo en el lugar del borrado, en vez de mover todos 1 lugar.

Ejemplo: Borrar "c"

[ a b c d e f ]    moviendo f al lugar de c.

queda:

[ a b f d e ]

En codigo:

     variosClientes.Clientes[i] = variosClientes.Clientes[variosClientes.numClientes-1];
     --variosClientes.numClientes;

#159
Programación C/C++ / Re: liberar memoria
6 Diciembre 2018, 19:18 PM
Depende de lo que entiendas por "liberar".
Nada impide que los punteros apuntes a direcciones de memoria asignadas o no. El que tengas un puntero a zona de memoria liberada no la hace estar asignada, solo se convierte en un peligro para la ejecucion de tu programa el que alguna instruccion posterior, haciendo uso de ese puntero no actualizado quiera ir a esa direccion de memoria y leer o escribir alli.

En resumen:
Si "liberar" incluye mantener el estado de la lista, entonces es necesario la asignacion del puntero final. Si "liberar" solo se preocupa de memoria utilizada, no es necesario.
#160
Parece que la logica original hay que modifcarla un poco, pues si existen 2 coliumnas iguales, pero justo las ultimas 2 que se comparan no son iguales, la funcion va a retornar 0.

Es lo que se quiere?