|
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 - -SB-
26
« en: Jueves 16 de Diciembre de 2004, 21:53 »
Hola!
Puedes leer todo el archivo en una tabla, guardando en cada posicion, la frase. Automaticamente cada frase estara asi asignada a una posicion, es decir un numero.. Solucion sencilla pero con inconvenientes como estos:
- Tienes que establecer un maximo de frases (la tabla es una estructura estatica). - Podrias usar otra variable para saber cuantas hay en la tabla si no sabes de antemano de cuantas hay en el archivo. - Podrias tambien primero contarlas y crear una tabla en funcion de la cantidad de frases...
O
Puedes crear una lista dinamica y en cada nodo guardar un identificador para la frase, la susodicha frase, y un puntero al siguiente nodo... Inconvenientes:
- Perdemos eficiencia respecto a la otra solucion, no podemos acceder directamente a la que queremos sin recorrer otros nodos.
Espero q te sirva,
Saludos!
27
« en: Miércoles 15 de Diciembre de 2004, 20:58 »
Lo que te dijeron es para poner un servicio con el protocolo IRC.
Supongo que los scripts php que aqui se mencionan utilizaran una base de datos para ir guardando las conversaciones y asi nos ahorramos el servidor de irc y la maquina para mantenerlos...
Salu2!
28
« en: Miércoles 15 de Diciembre de 2004, 20:35 »
Holas! Cierto, no me di cuenta cuando escribi ese pequeño codigo, que lo que estaba convirtiendo en float era el resultado de la division En cualquier caso supongo que ese programa ira dentro de algun objeto que implemente un tipo de datos abstrabto para trabajar con fracciones y seguramente habra alguna funcion que calcule el denominador comun.. Bueno, saludos!
29
« en: Miércoles 15 de Diciembre de 2004, 20:07 »
Hola! Estoy programando una lista de correo para mi sitio web, y ahora mismo necesito hacer lo siguiente y no se por donde agarrarlo.. a lo mejor entre las funciones de php para manejar strings hay alguna funcion que haga lo que yo necesito...: En una variable guardo el mensaje del texto, con ciertas "etiquetas" como #nombre# o #email# etc.. que el programa tiene que reemplazar por el nombre, email etc de la persona a la que va dirigido el mensaje. Me gustaria saber si conocen alguna funcion que haga tal operacion, o alguien que tenga alguna idea de como hacerlo.. Si no se entiende algo de lo que necesito preguntad ejej  Un saludo!! SB PD: Cuando tenga la primera version de la lista subire aqui el codigo para que todos podais aprovecharos de el
30
« en: Sábado 10 de Julio de 2004, 15:30 »
A ver, en cuanto lo que has dicho de los meses, puedes hacer algo asi, define un array en el que cada elemento sea un mes, por ejemplo: V[13] = {0, 31, 29 /*o 28, depende el año*/, 31, 30, 31,30, 31, 31, 30, 31, 30, 31}
Si quieres saber los dias de enero por ejemplo deberas poner V[1], si quieres los de agosto V[8], y asi con todos los meses.. Espero que te haya servido de algo. Un saludo! Pd: Cuando pastees un codigo ayudaria que quites las cosas menos relevantes y lo hagas con el tag CODE para facilitar su lectura, yo los que estan asi ni los miro..
31
« en: Sábado 3 de Julio de 2004, 05:41 »
Cuando tenemos un return en una funcion, la ejecucion no sigue, en el caso que has expuesto tu, int mi_funcion() { //__asm mov eax,76 return 76; } una linea es similar a la otra porque no esta dentro de un ciclo por ejemplo, porque al hacer un return en un ciclo, la funcion termina, y si solo movemos al registro eax el valor, la funcion sigue corriendo.. void sin_valor() { return1(66); return2(75); return3(99); } Devolvemos tres valores, pero cuando termina la funcion si se devuelven dentro de un bucle? Se te ocurre alguna solucion para esto?
Lo demas esta muy bien,
Un saludo!
32
« en: Jueves 24 de Junio de 2004, 18:22 »
Asias
33
« en: Jueves 24 de Junio de 2004, 17:43 »
Gracias Blag, me sirve  Oye, ya q tamos con el tema me puedes decir para que vale la siguiente linea? srand((double)microtime()*1000000);
Gracias!!!
34
« en: Miércoles 23 de Junio de 2004, 01:25 »
Syntex está usando VC++ así que un int ocupa 4 bytes.
No dejo de preguntarme como sabes q usa VC++
35
« en: Lunes 21 de Junio de 2004, 10:28 »
Una variable de tipo int no siempre ocupa 4 bytes como se ha dicho por ahi, depende de la arquitectura del procesador.
Un saludo!
36
« en: Domingo 20 de Junio de 2004, 12:56 »
Hola!! Ya estoy de nuevo aqui con mis preguntas de principiante en php.. Lo que necesito hacer es sencillo, pero no lo he encontrado en el manual online.. como puedo generar un numero aleatorio? (Que este dentro de un rango de numeros naturales, por ejemplo, del 1 al 7). Gracias de antemano, y un saludo!
37
« en: Sábado 19 de Junio de 2004, 12:37 »
En otro post(no se en cual, seguramente en el foro de linux) se publico este codigo, (lo tengo guardado desde que lo lei jeje). Es un codigo que envia datos bit a bit por el puerto serie, pero para Unix. /* * AUTHOR: Sven Goldt (goldt@math.tu-berlin.de) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * */ /* This is like all programs in the Linux Programmer's Guide meant as a simple practical demonstration. It can be used as a base for a real terminal program. */ #include #include #include #include #include #define BAUDRATE B38400 #define MODEMDEVICE "/dev/ttyS1" #define ENDMINITERM 2 /* ctrl-b to quit miniterm */ #define _POSIX_SOURCE 1 /* POSIX compliant source */ #define FALSE 0 #define TRUE 1 volatile int STOP=FALSE; void child_handler(int s) { STOP=TRUE; } main() { int fd,c; struct termios oldtio,newtio,oldstdtio,newstdtio; struct sigaction sa; /* Open modem device for reading and writing and not as controlling tty because we don't want to get killed if linenoise sends CTRL-C. */ fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY); if (fd <0) {perror(MODEMDEVICE); exit(-1); } tcgetattr(fd,&oldtio); /* save current modem settings */ /* Set bps rate and hardware flow control and 8n1 (8bit,no parity,1 stopbit). Also don't hangup automatically and ignore modem status. Finally enable receiving characters. */ newtio.c_cflag = BAUDRATE | CRTSCTS | CS8 | CLOCAL | CREAD; /* Ignore bytes with parity errors and make terminal raw and dumb. */ newtio.c_iflag = IGNPAR; /* Raw output. */ newtio.c_oflag = 0; /* Don't echo characters because if you connect to a host it or your modem will echo characters for you. Don't generate signals. */ newtio.c_lflag = 0; /* blocking read until 1 char arrives */ newtio.c_cc[VMIN]=1; newtio.c_cc[VTIME]=0; /* now clean the modem line and activate the settings for modem */ tcflush(fd, TCIFLUSH); tcsetattr(fd,TCSANOW,&newtio); /* Strange, but if you uncomment this command miniterm will not work even if you stop canonical mode for stdout. This is a linux bug. */ tcsetattr(1,TCSANOW,&newtio); /* stdout settings like modem settings */ /* next stop echo and buffering for stdin */ tcgetattr(0,&oldstdtio); tcgetattr(0,&newstdtio); /* get working stdtio */ newstdtio.c_lflag &= ~(ICANON | ECHO); tcsetattr(0,TCSANOW,&newstdtio); /* terminal settings done, now handle in/ouput */ switch (fork()) { case 0: /* child */ /* user input */ close(1); /* stdout not needed */ for (c=getchar(); c!= ENDMINITERM; c=getchar()) write(fd,&c,1); tcsetattr(fd,TCSANOW,&oldtio); /* restore old modem setings */ tcsetattr(0,TCSANOW,&oldstdtio); /* restore old tty setings */ close(fd); exit(0); /* will send a SIGCHLD to the parent */ break; case -1: perror("fork"); tcsetattr(fd,TCSANOW,&oldtio); close(fd); exit(-1); default: /* parent */ close(0); /* stdin not needed */ sa.sa_handler = child_handler; sa.sa_flags = 0; sigaction(SIGCHLD,&sa,NULL); /* handle dying child */ while (STOP==FALSE) /* modem input handler */ { read(fd,&c,1); /* modem */ write(1,&c,1); /* stdout */ } wait(NULL); /* wait for child to die or it will become a zombie */ break; } }
Espero que te sirva, un saludo!
38
« en: Viernes 18 de Junio de 2004, 13:16 »
Blag, a mi me ha pasao al reves, ella estudiaba quimica, y ahora programacion.. y toy deacuerdo con que no mola llegar a casa y encontrarse con consultas interminables..
Un saludo!!
39
« en: Miércoles 16 de Junio de 2004, 19:04 »
Ya he conseguido lo que queria Asias por tu ayuda! que no sabia por donde agarrarlo (y era ma facil de lo q pensaba jeje).. Saludetesss
40
« en: Miércoles 16 de Junio de 2004, 17:55 »
Hola!! Gracias, voy a ver q tal me va  Un saludo!
41
« en: Miércoles 16 de Junio de 2004, 00:31 »
Intentas asignar 0 a numero%primos[contador] y esa operacion no esta permitida, seguramente lo que tu quieres hacer es mirar si es igual a cero, y para eso debes usar el operador == en lugar de =, asi: if ((numero%primos[contador])==0)
Es posible que estes acostumbrado a algun otro lenguaje donde se utilice el = para hacer la comparacion. Los errores de compilacion no suelen ser dificiles de encontrar, son mas problematicos los de ejecucion, cuando el programa no hace lo que queremos jejejeje Bueno, espero q te haya sido de ayuda, Un saludo!!
42
« en: Lunes 14 de Junio de 2004, 15:06 »
Hola!!
No uso muy habitualmente php, pero necesito un pequeño codigo que me haga una tarea para una pagina web que estoy diseñando, la tarea es simple, y espero que alguno de vosotros me pueda ayudar.
Quiero acceder a una url donde encontrare un archivo (en un servidor externo), que contiene a partir de cierta posicion, una direccion url, de cierta cantidad de caracteres.
El pequeño programa deberia abrir el archivo de un servidor web (creo que esto se tiene que hacer con curl) desplazarse hasta la posicion donde empieza la direccion a la que tiene que saltar, cogerla, y saltar automaticamente a esa direccion.
Como datos tengo, la direccion de el archivo donde esta la direccion, tengo la longitud de la direccion a la que tiene que saltar, y la posicion a partir de la cual empieza esa direccion.
Espero que alguno me pueda ayudar y orientarme un poco sobre como puedo realizar esto.
Un saludo!!!
43
« en: Lunes 14 de Junio de 2004, 01:01 »
Hola!!
Efectivamente, no existe ningun gotoxy standard ya q esta operacion no se realiza igual en todos los sistemas (y a veces la salida standard puede ser redirigida a otros pelifericos como una impresora, un archivo en el q la operacion no pueda realizarse).
En cuanto a como escribir todas las variables de i, ya te han contetastado, has de usar dos put, uno de la integer_text_IO, y otra de la text_IO.
Si escribo es para decirte como hacer que escriba una cantidad determinada de decimales:
Si tu pones Ada.Integer_Text_IO.Put(i, 2); te escribira en dos caracteres el numero (i), si es mayor lo cortara, y si es mejor pondra un espacio en las demas y lo alineara a la derecha. Puedes hacer una simple funcion q mire la cantidad de digitos de un numero (contando cuantas veces se puede dividir por 10, x ejemplo) para saber cuantos digitos tiene y que utilice el espacio correcto.
En cuanto a los numeros con decimales, si tu usas Ada.Float_Text_IO.Put(j, 2) te escribira el numero con dos decimales detras de la coma (creo que es asi). No se como se hara para especificar tambien cuanto quieres antes de la coma, pero para ello puedes conultar en internet (busca por ejemplo en google) la especificacion de las funciones de la libreria Ada.Float_Text_IO.
Esperando haberte ayudado algo,
Un saludo!!!
44
« en: Lunes 14 de Junio de 2004, 00:47 »
he querido hacer en este lenguaje, el famoso juego de la culebrita
.... si has querido hacer el juego en c, ¿¿para que necesitas el codigo?? Salu2!
45
« en: Jueves 10 de Junio de 2004, 15:59 »
En la pagina de solocodigo aparece un manual sobre como crear un pequeño juego en plan space invaders en java, utiliza java2d y eso no lo vas a tener disponible en el movil pero bueno, por si no lo has visto y te interesa te pongo aqui la direccion.. http://www.planetalia.com/cursosLo va creando paso a paso y esta muy bien. Un saludo!!
46
« en: Jueves 10 de Junio de 2004, 15:54 »
Yo uso emacs, y compilo en la consola, no estoy acostrumbrado a usar kdevelop.. (y he desarrollado programas relativamente grandes en unix). Como dice nicokiki las man pages son muy utiles, ya que al estar escrito unix en c, ademas de ayuda sobre todos los comandos de unix se puede acceder tambien a los manuales de funciones de c (y de las llamas al sistema de unix).
Un saludo!
47
« en: Jueves 10 de Junio de 2004, 15:47 »
Buscate un objeto-lista...
48
« en: Jueves 10 de Junio de 2004, 15:29 »
Utilizar bien los archivos cabecera es sinónimo de una programación bien estructurada, tanto para "un programador medio" como para windows como tu dices.
Puedes usar los archivos de cabecera para crear, por así decirlo, la interface de cada objeto, declarando ahí las especificaciones de las funciones publicas de tu objeto.
Aplicando el principio de esconder información, habrá variables, constantes, etc que los demás objetos no tendran por qué conocer, y sera mejor que no los conozcan, para que todo funcione bien.
Utilizar los .h nos da ademas, la posiblidad de compilar objetos cada uno por su lado, utilizar "object files (.o)" nos permitira una compilacion separada, es decir: que yo puedo hacer un modulo con su .c y .h, y puedo compilarlo y dartelo, de hecho no me hara falta darte el codigo, con darte el objeto y las especificaciones tu podras utilizarlo (y esto es lo que hace windows).
En cuanto la compatibilidad de las funciones, a lo mejor deberias programar con un nivel de abstraccion mas alto, para no tener las complicaciones que estas teniendo, si es posible en el tipo de programas que hagas. Si estariamos hablando de programas de unix, un programa de hace 20 años te funcionaria perfectamente, pero ya sabemos como es windows, a si que lo mejor es, si es posible utilizar un nivel superior de abstrabcion como antes he dicho, o para esas funciones que requieran un nivel mas bajo, hacer una compilacion separada, de forma que si algun dia cambiamos de plataforma, nos sea suficiente con cambiar esas funciones y no todo el programa.
Espero haberte servido de algo,
Un saludo!!
SB.
49
« en: Martes 8 de Junio de 2004, 15:36 »
Puedes añadir la direccion del swf (que podras encontrar en el codigo fuente de la pagina) en un gestor de descargas, como por ejemplo PlashGet y asi descargartela..
Un saludo!
50
« en: Domingo 6 de Junio de 2004, 23:53 »
para pasar de binario a decimal, puedes hacer algo asi: int res = 0; int z = 0; while (n != 0) { res = res + (n % 10) * 2 ** z; z++; n = n / 10; }
Teniendo en n al principio el numero en binario, al terminar este programa tenemos en res, su equivalente en decimal.. Deberiamos controlar tb, q n solo tiene unos y ceros y alguna otra cosilla pero eso te lo dejo a ti  Uso ** para hacer un numero elevado al otro, no se si esto se puede usar en c, pero si no es asi habra alguna funcion explicita para ello, o te la puedes hacer sin mucho problema. Si no funciona igual se me olvida algo jeje.. Un saludo!!
|
|
|