• Lunes 29 de Abril de 2024, 06:57

Mostrar Mensajes

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


Mensajes - dheak

Páginas: 1 2 [3]
51
C/C++ / Re: Necesito que me ayuden...
« en: Martes 30 de Abril de 2002, 23:11 »
creo que esto no se hace asi, creo que el trabajo lo debes hacer tu. Si tienes alguna duda a la hora de implementar codigo, no dudes en realizarla, no te preocupes, te ayudaremos en lo que nos sea posible, pero, creo que es poco etico (al menos pienso asi) que pidas asi, sin mas, que te hagamos el trabajo y te lo mandemos por mail.

Saludos.

52
C/C++ / Re: AYUDA: Control del teclado y temporización
« en: Martes 23 de Abril de 2002, 00:19 »
je je, vaya, ni expresamente. Es que me he puesto a buscar la direccion y cuando la he encontrado me he puesto a mirar cosas y, lo que pasa, se me ha olvidao de ponerla. Aquí la tienes:

www.toptutoriales.com/prog/juegos/juegos2.htm

Lo siento.

53
C/C++ / Re: AYUDA: Control del teclado y temporización
« en: Lunes 22 de Abril de 2002, 23:46 »
Hola, se una pagina la cual te puede ayudar para tu segundo problema (el del teclado) y quizá te dice algo para el primero (no se, no me la he mirado muy bien).

Se trata de un "cursillo" sobre programación de videojuegos. No hay mucho codigo (al menos allí no libre, te tienes que registrar pa que te manden tol codigo fuente), pero los temas estan muy bien explicados y se puede sonsacar algo de ellos, especialmente si programas en ensamblador, te explica como cojer los "scancode's" del teclado, el bit que representa si se ha soltado una tecla o todavia sigue pulsada, y otras cosas interesantes. Ademas los otros temas estan muy bien.

Espero que sirva de algo.

54
C/C++ / Re: Interrupciones en C
« en: Lunes 22 de Abril de 2002, 23:36 »
Para utilizar las interrupciones del 8086 en lenguaje c, debes cargar el fichero de cabecera <dos.h>.

Para usar las interrupciones deberas establecer los parametros que quieres pasarles en los registros correspondientes (ax, cx, etc.). Para poder acceder a ellos deberas poner:

union REGS reg;

Ahora ya tienes los registros cargados. Para poder acceder a uno de ellos se hace de la siguiente forma, por ejemplo, al registro ax:

reg.x.ax = 0x13;

Así, ya puedes pasarles los valores necesarios a tu interrupción y llamarla de la siguiente manera:

int86(0x33, ®, ®);

Donde pone 0x33 escribe el numero de la interrupción a la cual quieres llamar.

55
C/C++ / Re: sobre logaritmos
« en: Sábado 20 de Abril de 2002, 23:49 »
Bueno, vamos a ver, me refiero a la base de un logaritmo. La tecla log que todos tenemos en la calculadora, te calcula el logaritmo en base 10 de un numero, la tecla ln de la calculadora lo hace en base e (e=2,7...), pues bien, me gustaria saber como se calcula el logaritmo (en C o C++) en cualquier base entera.

Veámoslo de otra manera. Dada la ecuación y = e^x, despejando x nos queda: x = ln y. Dada y = 10^x, despejando x queda: x = log y, esta vez el logaritmo es base 10, y el ln es base e. Pues bien, y = n^x, siendo n un numero entero positivo, despejar x, quedando así: x = log y, siendo n la base del logaritmo.

En lenguaje C, para calcular logaritmo en base e (o logaritmo neperiano) existe la función double log(double x), y el logaritmo base 10, la funcion double log10(double x). Pues me gustaria saber si hay alguna funcion que te permita calcular el logaritmo de un numero para cualquier base n.

Gracias

56
C/C++ / Re: sobre logaritmos
« en: Sábado 20 de Abril de 2002, 03:06 »
Alguien sabe como puedo hacer un logaritmo de base n, siendo n cualquier numero entero > 0? En lenguaje C o C++. Gracias

57
Diseño de Algoritmos / Re: generacion de p y q en RSA
« en: Sábado 20 de Abril de 2002, 03:03 »
Hola a todos. Estoy implementando el algoritmo de cifrado RSA. Pero tengo una duda que, sin ella, el algoritmo no sirve pa na.

Se trata de la generacion de los numeros p y q, tal que p*q=n, siendo n la clave publica del usuario. Los numeros p y q deben ser numeros primos, es decir, unicamente divisibles por si mismos y por la unidad, pero, además, deben ser sumamente grandotes, de 100 o más digitos.

La unica forma que se me ocurre es generar un numero aleatorio y dividirlo por todos los impares hasta llegar a n/2. Obviamente esto no es viable ya que en eso se basa RSA.

He escuchado algo de unos numerotes que se llaman pseudoprimos, y van relacionados con la generación de p y q. Alguien me podria informar sobre esto o se le ocurre otro metodo para poder generar tales numeros?

58
C/C++ / sobrecarga de operadores en c++
« en: Sábado 20 de Abril de 2002, 02:48 »
Estoy implementando una clase la cual tiene una variable privada que es un array bidimensional. Me gustaria saber si hay la posibilidad de sobrecargar un operador de doble corchete [][], tal como se hace para tratar con tablas.

Si pones operator [][](int i, int j) el compilador me da el toque y me dice que el ese operador no existe. No se si es que eso no se puede hacer o es que no se hace asi. En caso de que se pueda hacer, a ver si alguien me puede ayudar. Gracias de antemano.

59
C/C++ / Re: AYUDA con PILAS en C++
« en: Sábado 20 de Abril de 2002, 02:40 »
hola, yo tengo unas clases implementadas en c++, una de una pila y otra de una cola, si quieres mandame un mail a dheak@telepolis.com y luego te las mando. Simplemente son las clases con sus funciones miembro implementadas. Las clases estan creadas para tratar enteros, aunque es facil cambiarlas para que traten cadenas.

Respecto a la separación de la cadena, creo que una manera facil de hacerlo seria coger el codigo ASCII de cada caracter y comprobar que este dentro del rango que corresponda a caracteres, numeros o símbolos.

Bueno, no se si te solucionará tu problema pero si quieres el codigo dime algo y te lo mando.

60
C/C++ / Re: mouse
« en: Domingo 17 de Marzo de 2002, 18:05 »
eh! el símbolo de registrado ese que ha salido arriba, debes substituirlo por la direccion de memoria de reg (®).

61
C/C++ / Re: mouse
« en: Domingo 17 de Marzo de 2002, 18:03 »
Hola te mando algunas rutinas para el manejo del mouse. Las rutinas estan en lenguaje C, pero también te paso su optimización en lenguaje assambler, ya que es mucho mas rápido y, a parte, solo son un par de lineas fácilmente comprensibles.

En lenguaje C, debemos declarar los registros mediante: "union REGS reg;" a modo global. Las funciones para mostrar y ocultar el mouse:

void MostrarMouse()
{
  reg.x.ax = 0x1;
  int86(0x33, ®, ®);
}

void OcultarMouse()
{
  reg.x.ax = 0x2;
  int86(0x33, ®, ®);
}

Sus optimizaciones en ensamblador:

void MostrarMouse()
{
  asm mov ax, 01h
  asm int 33h
}

void OcultarMouse()
{
  asm mov ax, 02h
  asm int 33h
}

Aquí te listo algunas de las funciones de la interrupción 33h:

01h mostrar el mouse (0x1 en C)
02h ocultar el mouse (0x2)
03h leer posicion y botones (0x3)

Aquí va la funcion para controlar la posicion del mouse en C:

int MouseX(int ModVid)
{
   reg.x.ax = 0x3;
   int86(0x33, ®, ®);
   return reg.x.cx/ModVid;
}

int MouseY(int ModVid)
{
   reg.x.ax = 0x3;
   int86(0x33, ®, ®);
   return reg.x.dx/ModVid;
}

Donde ModVid es el modo que utilizamos:
1 - gráfico
8 - texto

La rutina para comprobar la pulsacion (devuelve 1 si se ha pulsado el boton izquierdo o 0 si no se ha pulado nada) del boton del mouse es:

int MouseClick()
{
   reg.x.ax = 0x5;
   reg.x.bx = 0;
   int86(0x33, ®, ®);
   if ((reg.x.ax) & 1) return 1;
   return 0;
}

Espero que te sirva. Un saludo.

62
C/C++ / quisiera que alguien me explicara como se aplican las funcio
« en: Domingo 10 de Marzo de 2002, 17:27 »
El uso de funciones en C consta basicamente de 3 partes bien diferenciadas, estas són: declaración, cuerpo y llamada. La declaración debe hacerse de modo global y después de las directivas de preprocesador, siendo su sintaxis: tipo nombre(args); donde tipo es el tipo de dato que ésta devuelve o void si no devuelve nada; args són los argumentos que la función recibe, que pueden ser uno o mas de uno, o void si no recibe ninguno. El cuerpo es el propio código que ejecutará la función. Debe ir (recomendado) después de la función main y debe corresponder con la declaración. Entre llaves debes poner el código. En la llamada se hace desde otra función(que puede ser main()) y se indica el nombre de la función, los datos pasados como argumentos, y la variable a la cual retorna el dato (si retorna). Un ejemplo:

#include <stdio.h>

int suma(int a, int b);

void main()
{
     int a;
     int b;
     int resultado;
     a = 5;
     b = 4;
     resultado = suma(a,b);
     printf("%d", resultado); // imprimirá 9
}

int suma(int a, int b)
{
     return (a+b);
}

Páginas: 1 2 [3]