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 - AlbertoBSD

#821
Se ven bien las líneas que comentas solo un detalle con la variable elementos. y sobre liberarlos no es necesario en esa funcion ya que si se vuelven parte de la cola, solo sera necesario liberarlos cuando los quieras eliminar.

El detalle con los elementos es que cada elemento tiene su propio contador de elementos y eso no deberia de ser asi, solo necesitas un contador de elementos y no deberia de ser parte de la esteucutura individual de cada elemento.

Saludos
#822
TE FALTO LA ETIQUETA GESHI....

Gracias por leer, te falto cerrar una llave:

Tu codigo actual esta asi:

                    else
                     {
                      gotoxy(30,14);cout<<"Ha ingresado mal los datos";
                     }
                else//aqui menciona el error
                {
                 gotoxy(30,12);cout<<"Ha ingresado mal los datos";
                }


Y deberia de estar asi:

                    else
                     {
                      gotoxy(30,14);cout<<"Ha ingresado mal los datos";
                     }
               }// Te falto este fin de if.....
                else//aqui menciona el error
                {
                 gotoxy(30,12);cout<<"Ha ingresado mal los datos";
                }


Repito si te concentras mas en la funcionalidad y menos en el formato vas a aprender mas

Saludos
#823
Hola antes que nada podrias decirnos en que linea esta el error?

Muchos no se molestan en leer codigos asi de largos por mas que quieran ayudar el tiempo invertido seria "excesivo"

Trata de colocar tu codigo en la etiqueta geshi:

int main() {
//Código....
}



La otra es que como estas apenas iniciando con la programación, trata de concentrarte en el codigo y dejes de lado el formato de salida ya que todos esos Gotoxy y clrscr solo estan estorbando el verdadero codigo.

La otra es que no uses la libreria Conio.h ya que no es estandar y la verdad te desvia del verdadero aprendizaje.


Saludos.
#824
Noooooo jajajaja cual es la probabilidad.

Saludos
#825
letra='-4';

Letra es un char, no puede tener 2 simbolos, '-'  y '4'.

si quieres manejarlo como numeros entonces debe de ser un entero y se declara asi:

int letra;
letra =4;
//algo mas
letra = -4;


No he visto que hace todo tu codigo pero eso es lo del error que preguntas.

Saludos
#826
Seguridad / Re: Nueva encuesta: Mejor Antivirus
21 Agosto 2016, 01:43 AM
a mi en lo personal no me gusta en el McAfee, prefiero el AVG, y actualmente tambien uso mucho el NOD32
#827
Criptografía / Re: Duda acerca de Firmas RSA
19 Agosto 2016, 23:04 PM
 :xD ;-)

Citarlas firmas digitales son creadas aplicando un algoritmo de resumen (Hash) sobre el plaintext (datos) y cifrando el hash resultante con la privada.

Justamente entre hoy a preguntar por eso que respondistes... vi el tema de Firmas RSA y me imagine que hablarian de mi duda, y en la primera respuesta de kub0x esta la solucion  ;-) ;-)

Saludos!
#828
Foro Libre / Re: Ransomware de codigo abierto
19 Agosto 2016, 22:55 PM
CitarUn ransomware solo necesita cifrar y evitar ser detectado hasta el momento de la alerta.

Asi es, lo interesante es... es que sea un buen sistema de cifrado ya que a la mayoria de "ransomwares" les encunetra rapidamente la forma de recuperarlos.

Citarsobretodo la parte de confirmar que han pagado y enviar la clave

Muchos ransomwares sufren de esto, ya que por tratar de mantenerse anonimos siempre pierden el servidor de control y solo cifran pero el servidor que te va a dar la "clave" siempre esta caido o inaxesible.

Si les interesa aprender de verdad, pasense por el foro de criptografia hay buenos temas, y cuando conocen como funciona la criptografia lo tienen mas facil.

Podrian programar un bot de telegram para... enviar la clave y validar si ya se pago o no...

Saludos!
#829
Hace tiempo vi un post, donde preguntaban sobre como crear una "partición" de swap o intercambio entre memoria y Disco Duro, solo que no logro encontrar el tema.

Bien estos dias estoy trabajando en un proyecto similar, donde tengo un archivo de X cantidad de Gigabytes desde 2, 4, 8, ... o mas

El detalle que cuando quieres trabajar con estas "particiones" para aprender como los sistemas operativos administran la falta de memoria con un espacio de intercambio en Disco te encuentras con el problema de que debes de administrar "optima-mente" ese espacio, y no significa que debas de ahorrar cada byte, pero es comun que las cosas que almacenas en ese espacio en disco cambien de tamaño o sean borradas poco después de escribirlas.. y por optima-mente me refiero a no perder de vista donde dejas cada cosa y a donde se movió, y que espacios quedan libres.

El codigo para escribir un archivo en Blanco de 4 Gigabytes es el siguiente:


#define KB 1024
#define MB 1048576

register int i = 0;
char *buffer = NULL;
FILE *archivo = NULL;
archivo = fopen("cache.bin","wb");
buffer = calloc(MB,sizeof(char));
while(i < 4*KB) {
fwrite(buffer,MB,1,archivo);
i++;
}
fclose(archivo);
return 0;


Con eso ya tenemos nuestro espacio para "intercambio", ahora necesitamos tener otro archivo o estructura donde recordemos donde dejamos cada cosa...

struct map_item {
uint64_t start;
uint64_t end;
uint8_t name[80];
};


Suponiendo que esa sea nuestra estructura de donde dejamos las cosas, podríamos tener la siguiente función para recuperar X catidad de bytes desde el archivo.

uint8_t *get_data_from_swap(uint64_t s,uint64_t e) {
FILE *swap_file = NULL;
uint8_t *data = NULL;
uint64_t l,r;
l = e-s;
swap_file = fopen("cache.bin","rb");
if(swap_file) {
data = malloc(l+1);
fseek(swap_file,s,SEEK_SET);
r = fread(data,1,l,swap_file);
if(l != r) {
fprintf("Error al leer archivo de SWAP",stderr);
}
data[l] = 0;
fclose(swap_file);
}
else {
fprintf("Error al leer archivo de SWAP",stderr);
}
return data;
}


Asi solo pedimos el inicio y el final y la función  se encarga de leer el archivo y devolvernos un apuntador con los datos solicitados + 1 byte de Caracter NULO

Y esto NO SOLO sirve para "Contenido de memoria", simplemente puede ser una archivo de configuración, con X cantidad de parámetros por ejemplo si estamos haciendo un juego podemos guardar Datos ahi, como récords de los usuarios, nombres, items de juego y una larga lista de etceteras...

Solo tenemos que identificarlos bien y tener las rutinas adecuadas para guardar valores nuevos y "Reacomodar" los items existentes para no dejar huecos libres.
#830
Programación C/C++ / Re: Juego SDL
19 Agosto 2016, 19:42 PM
Basicamente solo tienes que repintar mas naves, mas veces, y guardar sus posciones para saber si han colicionado o no

Tu variable nave se mantiene tal cual solo necesitas guardar las posiciones
SDL_Surface *enemigo;

supongo que con crear una matriz como dices, es suficiente:

SDL_Rect destinoe[10];

Claro que tendrias que regraficar todas y cada una de esas poisicones

O lo puedes hacer dinamicamente mediante uso de apuntadores y memoria dinámica.

Saludos!