• Jueves 14 de Noviembre de 2024, 08:15

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

Páginas: 1 ... 4 5 [6] 7 8 ... 12
126
C/C++ / Re: Programando Bits
« en: Miércoles 26 de Mayo de 2004, 16:23 »
Gracias Amilius!!

Muy bueno lo q me djiste. Me pongo a hacerlo

Salu2!!!!!! :kicking:

127
C/C++ / Re: Programando Bits
« en: Lunes 24 de Mayo de 2004, 19:06 »
Ruben3d!!

Si la quiero a esa info y no te entendi bien lo de FD_SET. Mire en las man pages ( a traves de google.com/linux) y no entendi q es y como se usaria. Si tuvieras un minimo ejemplo, yo lo sigo. No es de vago q no lo quiero hacer, no tengo idea de como hacerlo

Salu2!!!!!

128
C/C++ / Re: Programando Bits
« en: Lunes 24 de Mayo de 2004, 16:44 »
Hola Ruben3d!!

Yo lo estaba haciendo como vos decis pero el problema es q cuando asigno alguna tira de bits al char, cargo quizas tres bits en un lugar donde entran 8, y no puedo cargarle mas. O sea, cada vez q cargo una tira de bits, seguramente pierda espacio libre. No hay otra manera de hacer esto???

Salu2!!!!!

129
C/C++ / Re: Acerca De Un Chat ...
« en: Lunes 24 de Mayo de 2004, 15:02 »
No tengo nada aca de eso porque estoy en el laburo. Cuando vaya a casa te lo mando sin ningun problema.

Salu2!!!!

130
C/C++ / Re: Programando Bits
« en: Lunes 24 de Mayo de 2004, 14:52 »
Me confundi en el ejemplo con el 6 y el 8:

Ahi va:

6 en base decimal a Gamma:

log(6) = 2 //log en base 2 redondeado para abajo
2 + 1 = 3 entonces represento este tres en unario:
"110" en unario = 3 en decimal
X- 2^log|X| = 6 - 2^2 = 6 - 4 = 2 entonces represento el 2 en log|X| bits en binario, entonces 2 en base 10 = 10 en base 2 en 2 bits entonces:

6 (en base 10) = 110 10 (en gamma)

Salu2!!!!

131
C/C++ / Programando Bits
« en: Lunes 24 de Mayo de 2004, 14:49 »
Hola gente!!!!!!!!!

Estoy haciendo una clase (C++) que a partir de un long convierte ese numero a codificacion GAMMA, usada para codificar numeros en indexacion (es una forma de comprimir informacion). Les doy un ejemplo de Gamma:

6 en base decimal a Gamma:

log(6) = 2        //log en base 2 redondeado para abajo
2 + 1 = 3  entonces represento este tres en unario:
"110" en unario = 3 en decimal
X- 2^log|X| = 8 - 2^3 = 8 - 8 = 0 entonces represento el 0 en log|X| bits en binario, entonces 0 en base 10 = 00 en base 2 en 2 bits entonces:

8 (en base 10) = 110 00 (en gamma)

Bueno, como veran tengo q trabajar a nivel de bits, cosa q no he hecho jamas. Tengo claro q a la hora de guardar bits, si o si los tengo q guardar en grupos de 8 bits (1 byte) y eso implica mas bits a llenar en el byte.
El problema viene por este lado, yo puedo resolver el metodo sin ningun problema, pero la pregunta es donde voy guardando los bits. Se entiende q si lo guardo en un short (2 bytes "supuestamente") estoy desperdiciando bits (o no dependiendo si tengo mas de 16 bits), entonces mi idea seria guardar los bits en un buffer, pero no se de q tipo tiene q ser ese buffer. Eso es lo q quiero q alguien me diga, mi buffer, de q tipo debe ser???? Hay algun tipo de dato q me ayude con esto????

Salu2!!!!!

132
C/C++ / Re: Trabajando Con Directorios...
« en: Lunes 24 de Mayo de 2004, 14:12 »
En la seccion LINUX de este sitio me respondieron como hacerlo. Fijate ahi

 Mira esto


Salu2!!!!

133
C/C++ / Re: Acerca De Un Chat ...
« en: Viernes 21 de Mayo de 2004, 03:37 »
Hola!!!!!!!!!

Lo primero q deberias hacer es aprender a manejar Sockets, lo cual no es muy complicado pero puede llegar a serlo dependiendo de la seriedad con q t lo tomes. Lo otro es dependiendo del sistema operativo q uses, distintas van a ser las librerias de sockets q tengas q inicializar y demas.
Luego es simple, haces una clase Socket tuya y luego una servidor y una cliente y haces los metodos necesarios: enviar(char* /*std::string*/), recibir(), inicializar, blablabla
Si lo q queres es no solo mandar texto, ahi la cosa se te complica, pero en si es lo mismo en cuanto a los sockets (o mas o menos).

Espero q haya sido de ayuda.

Salu2!!!!

P.D.: cualquier cosa consulta de nuevo pero mas especificamente, eso fue un pantallazo :hola:

134
C/C++ / Re: Piramide Salida En Txt
« en: Viernes 21 de Mayo de 2004, 03:28 »
Hola!!!!!!!!

Para tomar el numero desde comando, el mismo te llegara a traves del argv. En la posicion 0 (argv[0] vendra el path de tu programa junto con el nombre del archivo ejecutable, y en el argv[1] te llegara el numero q necesitas (tenes q verificar q te llego el numero usando argc))
Lo q tenes q hacerle (previa validacion de q sea un numero  lo q te llego (isdigit() seria la solucion para eso, busca en la MSDN, en google o en las man pages de gnu/LINUX)) es hacerle un atoi y meterlo en una variable de tipo int (o short seria mejor) y luego empezas a grabar lineas en un archivo de texto empezando en la primera con un uno, luego un uno y un dos y asi sucesivamente hasta el numero q guardaste recien.

Salu2!!!!!

135
C/C++ / Re: Ayuda Con Emetodo De Maclare
« en: Jueves 20 de Mayo de 2004, 21:43 »
:huh:  :huh:  :huh:  :huh:  :huh:
Que???????????????????

Salu2!!!!!!!

136
C/C++ / Re: Piramide Salida En Txt
« en: Jueves 20 de Mayo de 2004, 19:59 »
Pero q es lo q no entendes??? grabar el archivo???, leer el parametro de linea de comando??, hacer el 1 12 123 1234 12345 .....???? porque nadie te va a hacer el TP entero asi porque si. Fijate y responde!

Salu2!!!!!!!!!!! :hola:

137
PHP / Re: Cerrar Sesiones
« en: Jueves 20 de Mayo de 2004, 13:51 »
Igual, lo q escribi no va con lo q pedia, yo puse q si no hacia nada el usuario por 5 minutos, la sesion caducaba, algo asi como lo haria YAHOO, obviamente a un nivel mas q basico.

Salu2!!!!!!

138
PHP / Re: Cerrar Sesiones
« en: Jueves 20 de Mayo de 2004, 13:49 »
Hola!!!!!

Antes q nada quiero pedir q no me puteen mucho porque lo q escribire esta en JAVA hecho en un Servlet, pero calculo q debe ser parecido en PHP (no se nada de nada de PHP). Quizas sirva de algo lo q escribo o no, pero bueno, lo mando, porque cuando lo hice en JAVA, lo hice de esta manera:

session.setMaxInactiveInterval(300);  //El 300 esta en segundos, o sea, 5 minutos

Salu2!!!!!! e insisto, no me puteen mal!!! :rolleyes:

139
JSP/Servlets / Re: Metodo Get Y Post
« en: Miércoles 19 de Mayo de 2004, 19:45 »
Hola!!!!!!!

Una de las mayores diferencias es q si por ejemplo obtenes parametros de una pagina HTML (o de HTML dentro de un JSP), si lo haces con el doGet() verias en el cuadro de direcciones los parametros recibidos, pero si lo haces a traves de un doPost() no los verias porque los oculta.
Tambien desde el doGet() podes llamar al doPost() y viceversa.


Salu2!!!!

140
C/C++ / Re: Hola Tengo Una Pregunta PeuqÑa
« en: Miércoles 19 de Mayo de 2004, 17:51 »
Salieron caritas donde deberia decir b

Salu2!!!!!!

141
C/C++ / Re: Hola Tengo Una Pregunta PeuqÑa
« en: Miércoles 19 de Mayo de 2004, 17:50 »
Hola!!

Porque hay una diferencia:
1.- Pasar parametros por valor = pasar parametros q son utiles a tu funcion, pero no quieres usarlos "cambiados" luego de salir de esa funcion

2.- Pasar parametros por referencia = parametros q quieres modificar dentro de la funcion y q sigan modificados a la salida de la misma.

"Toda función recibe como parámetros copias de los datos especificados (pasaje por valor), nunca datos mismos (pasaje por referencia)."

Esto es correcto para pasar por referencia:

void swap (int *a, int *B);

void main (void)
{
  int a, b;
  swap (&a, &b);
}

/* ********************************* */
/* Función que intercambia los dos enteros */
/* ********************************* */

void swap (int *a, int *B)
{
  int c;

  c = *a;
  *a = *b;
  *b = c;
}



Con respecto a lo de q la FUNCION devuelva char o char* es distinto. La primera devuelve un char y la segunda un puntero a caracteres. No entiendo cual es la pregunta.

142
C/C++ / Re: Multitarea
« en: Miércoles 19 de Mayo de 2004, 14:50 »
Hola!!!

Te recomiendo esta pagina (siempre recomiendo la misma, asi q se podria poner en links de paginas amigas, no se, se me ocurre, es muy buena):

www.recursosprog.com.ar

Por otro lado, el año pasado tuve (con otra persona) q hacer una clase q encapsule las threads, asi q ahi va: (la clase es basica, con un metodo y nada mas, y encapsula los sockets tambien, aunque estos estan encapsulados tambien en otro lado, .......bueno, no se fijate)

// Comienzo de archivo

#ifndef __THREADS_H__
#define __THREADS_H__

#include <stdio.h>
#include <iostream.h>
//#include "Elementos.h"
#include "CSocket.h"
#ifdef _WINDOWS_   
   #undef _WINDOWS_
#endif
#include "cPlanta.h"
//#include "elementos.h"
/****************************************************************************************/
/*                           Clase CThread
/****************************************************************************************/
class CThread {

   protected:
      void* Info;               //Contiene la información que necesita la Thread.
      HANDLE hThread;             //handle de la Thread.
      DWORD IDThread;

      virtual void Correr()=0;   //Función que se sobrecargará en cada clase que herede
                           //de CThread.
                           //En Correr() es donde irá el código propio de la Thread.
      static DWORD WINAPI Funcion(void* T);

   public:

      CThread(){};
      virtual ~CThread() {
      //vacia
      };
      void EmpezarThread();   //Con esta función se inicializará un Thread.

};
/********************************************************************************************/
void CThread::EmpezarThread()
{

   hThread = CreateThread(NULL, 0, CThread::Funcion, (LPVOID) this, 0, &IDThread);

   // creo el thread ejecutando la funcion estatica PuntoEntrada
}

/********************************************************************************************/
DWORD WINAPI CThread::Funcion(void* T)
{
   ((CThread*)T)->Correr();   //ejecuta el metodo Run, del objeto Thread con lo que puede
                     //utilizar los atributos de la clase

   delete ((CThread*)T); //al finalizar el Thread elimina el objeto Thread

   return 0;
}
/********************************************************************************************/

/******************************************************************************************
Clase CThreadCliente

/****************************************************************************************/
class CThreadCliente:public CThread{

   protected:
      virtual void Correr();   //Función que se sobrecargará la de la clase ancestro CThread.
                        //En Correr() es donde irá el código propio de la Thread.
      static DWORD WINAPI Funcion(void* T);

   public:

      CThreadCliente()
      {
      };
      virtual ~CThreadCliente()
      {
      //vacia
      };
      void EmpezarThread();   //Con esta función se inicializará un Thread.

};
/********************************************************************************************/
void CThreadCliente::Correr()
{
   CSocketCom SockCom;
   SockCom.Inicializar(); //inicializa las comunicaciones
   TIp IpDestino;
   CSocket Sock;
   IpDestino.a=127;
   IpDestino.b=0;
   IpDestino.c=0;
   IpDestino.d=1;   
   Sock.Conectar(IpDestino,6000); //se conecta con el servidor local en el puerto 6000
   //cout<<"conectado al servidor..."<<endl;
   char* Rta=new(char[100]);
   while (strcmp(Rta,"¡<1,0>!\0")!=0) //corta cuando el color es 0
   {
      Sock.RecibirTodo(Rta,100); //recibe lo que mande el servidor
                           //si el servidor no manda se queda esperando
      //cout<<"el servidor dijo: "<<Rta<<endl;
      //aca haces lo que queres con el dato que recibis
   }
   Sock.Cerrar();
   SockCom.Terminar();
}
/********************************************************************************************/
void CThreadCliente::EmpezarThread()
{

   hThread = CreateThread(NULL, 0, CThread::Funcion, (LPVOID)this, 0, &IDThread);

   // creo el thread ejecutando la funcion estatica PuntoEntrada
}

/********************************************************************************************/
DWORD WINAPI CThreadCliente::Funcion(void* T)
{
   ((CThreadCliente*)T)->Correr();   //ejecuta el metodo Run, del objeto Thread con lo que puede
                     //utilizar los atributos de la clase

   delete ((CThreadCliente*)T); //al finalizar el Thread elimina el objeto Thread

   return 0;
}
/********************************************************************************************/


/********************************************************************************************/

/******************************************************************************************
Clase CThreadServidor

/****************************************************************************************/
class CThreadServidor:public CThread{

   protected:
      CSocket Sock;
      virtual void Correr();   //Función que se sobrecargará la de la clase ancestro CThread.
                        //En Correr() es donde irá el código propio de la Thread.
   public:

      CThreadServidor()
      {
      };
      virtual ~CThreadServidor()
      {
      //vacia
      };
   //   void EmpezarThread();   //Con esta función se inicializará un Thread.
      void EstablecerDialogo(void* Puntero); //se encarga de dialogar con el cliente
                                    //liberando el socket de escucha para
                                    //que escuche a algun otro castea el puntero
                                    // a void como un CSocket
};
/********************************************************************************************/
void CThreadServidor::Correr()
{      
   //El servidor, deberá iniciar una lectura en el socket, esperando recibir información:
   int a;
   char* Cadena;
   Cadena=new (char[100]);
   CString Nombre;
   cPlanta Planta;
   strcpy(Cadena,"¡<3,4>!\0");
   Sock.EnviarTodo(Cadena,strlen(Cadena));
   cin>>a;
//   Planta.ToCliente(Sock);
}

/********************************************************************************************/
void CThreadServidor::EstablecerDialogo(void* Puntero)
{
   Sock=*(CSocket*)Puntero;
   this->EmpezarThread();
}


/********************************************************************************************/


#endif


Salu2!!!!!!!!!!!

143
C/C++ / Re: Ayuda Con Validacion
« en: Lunes 17 de Mayo de 2004, 18:52 »
Si, estas declarando el n dentro del DO-WHILE y lo estas cargando con 0 y luego lo uincrementas y luego a cero y asi.
Fijate.
Lo otro q no entiendo es vcad[vf]!=NULL . Q es eso??? ya q vcad es un vector de caracteres, por q lo comparas con NULL?????

Salu2!!!!!!

144
C/C++ / Re: Ayuda Con Validacion
« en: Lunes 17 de Mayo de 2004, 18:23 »
No, lo q tendrias q hacer seria declarar un contador y medida q lees un caracter lo incrementas en uno y en el while comparas contra ese contador q sea menor q 10 en tu caso y listo, asi solo lees 10 caracteres o hasta un ENTER

Salu2!!!!!

145
C/C++ / Re: Ayuda Con Validacion
« en: Lunes 17 de Mayo de 2004, 18:02 »
Agregale la condicion de leer hasta 10 (o lo q sea) caracteres a parte de comparar contra el ENTER.


Salu2!!!!!!!!!!

146
C/C++ / Re: Ayuda Con Validacion
« en: Lunes 17 de Mayo de 2004, 17:09 »
Puede ser porque estas esperando un ENTER aca???

while((ch!=13)||(vcad[vf]!=NULL));

el 13 es ENTER

Salu2!!!!!!!!!!!

147
C/C++ / Re: Ayuda Para Completar El Codigo
« en: Lunes 17 de Mayo de 2004, 02:29 »
Hola Mercedes!!

Hace esto:

for(i = 0; i<TAMANYODNI; i++)
  dni = fgetc(fp);

strcpy(d.DNI, dni);

printf("Introduzca los apellidos: ");
gets(apellidos);
printf("Introduzca el nombre: ");
gets(nombre);
printf("Introduzca el numero de años: ");
scanf("%d",&numero_anyo);

strcpy(d.nombre, nombre);
strcpy(d.apellidos, apellidos);
d.numero_anyo = numero_anyo;

fwrite(&d, sizeof(DATOSALUMNO), 1, ficbin);

Y listo!!!!!!

Salu2!!!!!!!!!!

148
C/C++ / Re: Vectores Stl
« en: Domingo 16 de Mayo de 2004, 22:06 »
Hola Ruben3d!!

Entonces estas diciendo q la unica clase string es la de la STL, no???

Salu2!!!!!!

149
C/C++ / Re: Ayuda Para Ir Completando Esto
« en: Domingo 16 de Mayo de 2004, 20:19 »
Hola!!!!!!

Seguis haciendo mal lo q te dije q estaba malllllllllll.
Estas llamando a una funcion sin parametros y pretendes ver q hay en una posicion de la matriz, pero NUNCA le decis en q posicion mirar, SIEMPRE mira en la mismaaaaaaaaaa.
A parte locx y locy no son globales a tu archivo, asi q no se q estas haciendo cuando en la funcion disparo comparas la matriz en esas posiciones.

Tu prototipo de disparo debe ser asi:

void Disparo(int fila, int columna);

Y haces lo q te dije antes en la implementacion.

Salu2!!!!!!!

P.D.: responde si lo q te decimos sirve o no, porque cada cosa q escribi no la hiciste entonces me estas haciendo escribir no se para q. Media pila!!!!!

150
C/C++ / Re: Vectores Stl
« en: Domingo 16 de Mayo de 2004, 20:10 »
Hola tiwas!!!!

Te cuento q cuando incluis a string.h es distinto de incluir a string . El primero te permite realizar ciertos operaciones y el segundo es el string de la STL.
El tipo de dato string en C/C++ no existe asi como decis vos. Si existen ciertas variaciones pero como dije antes no existe como si existe en Pascal o en otros lenguajes. Que existan mil millones de librerias q lo implementen puede ser, pero no existen por si solos, o sea, no se si son STANDARD.
Q haya algunos compiladores q lo traigan no implica q luego corra en otro sistema operativo por ejemplo.
La verdad es q no se donde viste el string, OJO, no niego q exista, pero si te digo si lees algun libro de C/C++ te aseguro q no lo dan comop tipo de dato y en C++ no existe como clase. Existen distintas implementaciones de los string como en MFC como dije antes pero asi como decis vos, lo dudo.
Por favor Juank te pido q me respondas si existe o no string a secas como tipo de dato nativo del lenguaje.

Salu2!!!!!

P.D.: El otro mensaje lo mande porque toque el mouse sin querer!!!!!!

Páginas: 1 ... 4 5 [6] 7 8 ... 12