|
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 - desorden
1
« en: Sábado 27 de Marzo de 2004, 00:11 »
Hacer una libreria, biblioteca o como queráis llamarlo no es tan sencillo y depende mucho del sistema y compilador donde trabajes. Los archivos .h sólo deben incluir definiciones de constantes, prototipos de funciones, definiciones de estructuras de datos, etc. No se debe incluir código "ejecutable" en ellos. En esta página www.geocities.com/chuidiang/herramientas/librerias.html se explica como se crean bibliotecas en linux. Si entiendes los conceptos, solamente tendrás que adaptar las instrucciones que se dan allí a tu sistema y compilador. Un saludo...
2
« en: Miércoles 24 de Marzo de 2004, 12:28 »
Una manera estándar no existe. Tienes dos opciones: - Implementar tú mismo la función en linux. Tienes que dominar el manejo de funciones como tcgeattr, tcsetattr, read, select...</li>
- Usar la implementación de otra persona. Existe una versión de la biblioteca conio para sistemas basados en unix llamada uconio.</li>
Un saludo...
3
« en: Martes 23 de Marzo de 2004, 02:35 »
Claro que no es estándar , niguna de las soluciones que se han dado lo es. El estándar de C no dice en ningún sitio que la salida tenga que ser a una pantalla. Imaginad que la salida se hace a algun tipo de impresora, con la solución de las líneas en blanco (¿cuántas líneas? ¿20? ¿50? ¿500?) no ganaríamos para papel Un saludo...
4
« en: Lunes 22 de Marzo de 2004, 02:31 »
Puedes hacerlo pasando como parámetro el primer elemento de la tabla, pero de alguna manera tendrás que controlar cuando llegas al final. Por ejemplo, si en tus tablas almacenas números positivos, que el último elemento de cada una de ellas sea un número negativo.
Un saludo...
5
« en: Domingo 21 de Marzo de 2004, 14:15 »
Si a los desarrolladores del kernel de linux no se les puede considerar serios... grep -R goto /usr/src/linux/Más de 19000 goto -kernel 2.4.25- Aunque te tengo que dar la razón en que el seguimiento del código en este caso es todo un reto Un saludo... Pregunta: ¿Cómo se puede salir de dos o más bucles a la vez?
6
« en: Sábado 20 de Marzo de 2004, 19:21 »
Una cosa es la teoría y otra muy distinta es la práctica en el mundo real.
La sentencia goto se usa y mucho. Podéis mirar cualquier código fuente de aplicaciones reales.
En Java, que es un lenguaje moderno, se pueden etiquetar los bucles para poder usar la instrucción break etiqueta para saltar entre ellos.
Un saludo...
7
« en: Sábado 20 de Marzo de 2004, 13:52 »
Tambien puedes usar secuencias especiales de caracteres que define ANSI. La siguiente línea de código borra la pantalla:
printf("%c[2J", 27);
Para que funcione en sistemas Windows debes usar una terminal que soporte ANSI. Antiguamente estos códigos se cargaban con el archivo ANSI.SYS.
8
« en: Sábado 20 de Marzo de 2004, 13:35 »
goto malo según para qué.
Desde luego en este caso su uso no está justificado.
Un saludo...
9
« en: Miércoles 25 de Febrero de 2004, 23:33 »
¿Qué error se produce cuando lo ejecutas?
Un saludo...
10
« en: Miércoles 18 de Febrero de 2004, 02:11 »
Existen alternativas a la función system pero depende de la plataforma sobre la que programes. Puedes probar algunas funciones de string.h. #include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { char ip[] = "foros.solocodigo.com"; char comando[] = "ping"; char orden[50]; strcpy(orden, comando); strcat(orden, " "); strcat(orden, ip); system(orden); return 0; }
Un saludo...
11
« en: Sábado 14 de Febrero de 2004, 03:58 »
ToTeX, ¿has compilado y ejecutado el código de tu mensaje? ¿ modifica(k) provoca un error en tiempo de ejecución? Un saludo...
12
« en: Viernes 13 de Febrero de 2004, 16:11 »
modifica(k); //Error! k no es un puntero inicializado Es un error porque no sabes que zona de memoria estás modificando, pero no provoca un error en ejecución. Yo creo que el problema se encuentra en como se ha inicializado el puntero. #include <stdio.h> int main(void) { char cadena[] = "hola"; char *puntero; puntero = cadena; printf("%c", *puntero); (*puntero)++; printf("%c", *puntero); return 0; }
En cambio: #include <stdio.h> int main(void) { char *puntero = "hola"; printf("%c", *puntero); (*puntero)++; printf("%c", *puntero); return 0; }
Provoca el error. En este ejemplo, puntero apunta a una zona de memoria de solo lectura. Un saludo...
13
« en: Miércoles 11 de Febrero de 2004, 01:41 »
¿Cómo has inicializado la cadena?
Un saludo...
14
« en: Miércoles 4 de Febrero de 2004, 13:47 »
El programa funciona. Guarda los números en un archivo hasta que introduzcas el 0.
Un saludo...
15
« en: Martes 3 de Febrero de 2004, 19:54 »
La función clock_gettime -man clock_gettime- muestra nanosegundos. También podéis probar con times, gettimeofday, etc...
Un saludo...
16
« en: Martes 3 de Febrero de 2004, 17:12 »
Busca información sobre la función kbhit(). La implementaban los antiguos compiladores de Borland en la biblioteca dos.h y DJGPP en pc.h. Aunque solo te servirá si trabajas sobre DOS.
Un saludo...
17
« en: Lunes 2 de Febrero de 2004, 04:57 »
18
« en: Domingo 1 de Febrero de 2004, 15:21 »
El modo app trata de encontrar el final del flujo de datos antes de cada operación de salida. Tienes que señalar el flujo de datos como de salida: #include <iostream> #include <fstream> int main() { std::fstream fichero; fichero.open("uno.txt", std::ios::out | std::ios::app); if (fichero.fail()) std::cout << "no"; return 0; }
Un saludo...
19
« en: Martes 20 de Enero de 2004, 14:18 »
El prototipo de fgetc() es: Así que devuelve int no char. Un saludo...
20
« en: Jueves 2 de Octubre de 2003, 15:45 »
mmmmm pues eso, ¿no? gatos altura G 64 G 32 G 16 G 8 G 4 G 2 G 1
Gatos que no trabajan: 6. Altura del conjunto: 127.
21
« en: Jueves 2 de Octubre de 2003, 01:50 »
Yo no he podido incluir el caso de un gato trabajando, así que lo consideraba a parte:P
Para 64 1, la solución buena es 6 127.
¿Para cuándo el próximo reto?
22
« en: Miércoles 1 de Octubre de 2003, 14:22 »
Una solución: scanf("%sn", palabra); scanf("%[^n]", cadena);
Otra: scanf("%s", palabra); getchar(); scanf("%[^n]", cadena);
Un saludo...
23
« en: Miércoles 1 de Octubre de 2003, 01:37 »
Una manera sencilla de simular gets(cadena_con_espacios) es: scanf("%[^n]", cadena_con_espacios);
Un saludo...
24
« en: Lunes 29 de Septiembre de 2003, 22:51 »
No va más:) Sueño con gatos y sombreros:P Con esta entrada: gato.in 3112136 3048625 13 12 64 1 28561 20736 3048625 2985984 37015056 35153041 9 4 16 9 216 125 6561 4096 4913 4096 729 512 289 256 117649 110592 5764801 1679616 #
Esta salida: gato.out 21171 12321231 1 25 6 127 1885 122461 20881 12068929 462540 180390211 3 19 4 37 31 671 585 26281 273 17985 73 2465 17 817 2353 456385 335923 30275911
25
« en: Lunes 29 de Septiembre de 2003, 15:19 »
Otro intento. Creo que está bien. Aunque es muy lento.
|
|
|