• Lunes 29 de Abril de 2024, 14: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 - Geo

Páginas: 1 2 3 [4] 5 6 ... 41
76
Matlab / Re: Asignación dinámico de variables
« en: Sábado 8 de Agosto de 2009, 07:08 »
Pues si se puede, perdón por el error :brickwall:.

Cita de: "Geo"
Para eso existen sitios como este, para que aprendamos entre todos :).
Confirmado :D.

77
C/C++ / Re: Cómo hacer un menu circular en C++
« en: Martes 28 de Julio de 2009, 18:29 »
Cita de: "m0skit0"
Se puede hacer a mano usando stdio y otras librerías estándar.
¿Qué otras bibliotecas estándar?
¿Puedes explicar cómo conseguiría obtener la pulsación de las teclas de dirección y moverme hacia cierta posición para modificar el texto de una opción en particular y, si fuera posible, modificar el color de la impresión? Es que para estas cosas siempre he recurrido a algo específico según la plataforma en la que trabaje, sin tomarme demasiado tiempo en buscar una alternativa.

Del FAQ de comp.lang.c, pregunta 19.1
Cita de: "comp.lang.c"
How can I read a single character from the keyboard without waiting for the RETURN key? How can I stop characters from being echoed on the screen as they're typed?
Respuesta (recortada):
Cita de: "comp.lang.c"
Alas, there is no standard or portable way to do these things in C. Concepts such as screens and keyboards are not even mentioned in the Standard, which deals only with simple I/O ``streams'' of characters.

At some level, interactive keyboard input is usually collected and presented to the requesting program a line at a time. This gives the operating system a chance to support input line editing (backspace/delete/rubout, etc.) in a consistent way, without requiring that it be built into every program. Only when the user is satisfied and presses the RETURN key (or equivalent) is the line made available to the calling program. Even if the calling program appears to be reading input a character at a time (with getchar or the like), the first call blocks until the user has typed an entire line, at which point potentially many characters become available and many character requests (e.g. getchar calls) are satisfied in quick succession.

When a program wants to read each character immediately as it arrives, its course of action will depend on where in the input stream the line collection is happening and how it can be disabled. Under some systems (e.g. MS-DOS, VMS in some modes), a program can use a different or modified set of OS-level input calls to bypass line-at-a-time input processing. Under other systems (e.g. Unix, VMS in other modes), the part of the operating system responsible for serial input (often called the ``terminal driver'') must be placed in a mode which turns off line-at-a-time processing, after which all calls to the usual input routines (e.g. read, getchar, etc.) will return characters immediately. Finally, a few systems (particularly older, batch-oriented mainframes) perform input processing in peripheral processors which cannot be told to do anything other than line-at-a-time input.

Therefore, when you need to do character-at-a-time input (or disable keyboard echo, which is an analogous problem), you will have to use a technique specific to the system you're using, assuming it provides one.
Ahora, las referencias del grupo son "viejas", no se qué tanto pueda encontrar en los documentos más recientes.

78
C/C++ / Re: Cómo hacer un menu circular en C++
« en: Martes 28 de Julio de 2009, 06:37 »
Cita de: "m0skit0"
Es desaconsejable usar conio, no es estándar.
¿Existe alguna biblioteca estándar que permita la detección de las teclas de dirección y el movimiento a alguna ubicación específica dentro de la pantalla?

79
C/C++ / Re: Cómo hacer un menu circular en C++
« en: Lunes 27 de Julio de 2009, 17:46 »
Muy bien, no olvides comentar qué tal te va.

80
CONCURSO / Re: Ganadores Del Concurso
« en: Sábado 25 de Julio de 2009, 01:45 »
Jeje, yo también tengo todavía la mía, solamente tiene una fisura en la tapita pero muy útil :D.

81
C++ Builder / Re: builder gratis??
« en: Sábado 25 de Julio de 2009, 00:07 »
Tienes la versión gratuita de Turbo C++ Explorer: http://www.turboexplorer.com/cpp

82
C/C++ / Re: Cómo hacer un menu circular en C++
« en: Viernes 24 de Julio de 2009, 15:44 »
La lógica de un menú así es más o menos sencilla:
- Borras la pantalla
- Imprimes las opciones del menú, resaltando la seleccionada.
- Lees el teclado, ajustas la nueva opción del menú.
- Inicias de nuevo.

El borrado de pantalla, no es necesario si utilizas alguna función que te permita ubicar el cursor en una posición específica dentro de la pantalla (estilo gotoxy de los compiladores de Borland), así simplemente deberías actualizar las opciones correspondientes.

Mencionas que usas Dev-C++ pero no dices qué funciones utilizas para lectura del teclado, ¿estás trabajando con la implementación de conio para MinGW o con las funciones de consola de la API Win32?

Para que el menú sea "circular":
  • inicializa opcion
  • ciclo:
    • leer teclado
    • si se pulsó arriba, opcion = opcion + 1
    • si se pulsó abajo, opcion = opcion - 1
    • ajustar valores de la variable opcion (menú "circular"):
        (si es menor que 1, opcion = MAX_OPCIONES; si es mayor que MAX_OPCIONES, opcion = 1)

Suerte.

83
C/C++ / Re: undefined symbol 'bool'
« en: Domingo 19 de Julio de 2009, 08:34 »
Si debes utilizar ese compilador, usa una alternativa:

Usa int en lugar de bool
Código: C
  1.  
  2.   int sw=1;
  3.   do
  4.   {
  5.     printf("%d, ",serie);
  6.     if (sw) serie+=4;
  7.     else serie-=2;
  8.   //...
  9.  
  10.  
Lo mismo pero "más bonito" ;). Esto te sirve si quieres importar algún código de otro compilador que si soporte el tipo bool.
Código: C
  1.  
  2. #include <stdio.h>
  3. #include <conio.h>
  4.  
  5. #define bool int
  6. #define true 1
  7. #define false 0
  8.  
  9. int main ()
  10. {
  11.   int serie=1;
  12.   bool sw = true;
  13.   do
  14.   {
  15.     printf( "%d, ",serie );
  16.     if( sw ) serie += 4;
  17.     else serie -= 2;
  18.   //...
  19. }
  20.  
Si puedes elegir, considera cambiar de compilador :).

84
C/C++ / Re: SDL mixer
« en: Domingo 19 de Julio de 2009, 08:20 »
Acabo de probar un código basado en el tuyo y no he tenido problemas reproduciendo el audio, prueba revisando los valores devueltos por cada función. También, revisar que el problema no sea tu sistema, ¿en qué estás trabajando?

Código: C++
  1. #include <SDL.h>
  2. #include <SDL_mixer.h>
  3.  
  4. int main() {
  5.     if ( SDL_Init( SDL_INIT_AUDIO ) < 0 ) {
  6.         fprintf( stderr, "%sn", SDL_GetError() );
  7.         exit( 1 );
  8.     }
  9.  
  10.  
  11.     if ( Mix_OpenAudio( MIX_DEFAULT_FREQUENCY, MIX_DEFAULT_FORMAT, MIX_DEFAULT_CHANNELS, 4096 ) < 0 ) {
  12.         fprintf( stderr, "%sn", SDL_GetError() );
  13.         exit( 1 );     
  14.     }
  15.  
  16.     Mix_AllocateChannels( 10 );
  17.     Mix_Chunk* sonido1;
  18.     Mix_Chunk* sonido2;
  19.     Mix_Chunk* sonido3;
  20.  
  21.     sonido1 = Mix_LoadWAV( "borrego1.wav" );
  22.     sonido2 = Mix_LoadWAV( "gallo1.wav" );
  23.     sonido3 = Mix_LoadWAV( "vaca1.wav" );
  24.  
  25.     Mix_PlayChannel( 0, sonido1, 0 );
  26.     Mix_PlayChannel( 1, sonido2, 0 );
  27.     Mix_PlayChannel( 2, sonido3, 0 );
  28.  
  29.     SDL_Delay( 3000 );
  30.     Mix_FreeChunk( sonido3 );
  31.     Mix_FreeChunk( sonido2 );
  32.     Mix_FreeChunk( sonido1 );
  33.     Mix_CloseAudio();
  34.     SDL_Quit();
  35.  
  36.     return 0;
  37. }
  38.  
  39.  

85
Matlab / Re: FFT2 para un array multidimensional
« en: Domingo 19 de Julio de 2009, 07:21 »
Me parece que no hay forma salvo el recorrido con algún ciclo. Aunque hubiera una expresión, lo más probable es que internamente utilice la misma estrategia (un ciclo). Quizá valdría la pena intentar reducir el código en otro lado, no mencionas cómo es que se han armado las matrices a las que aplicas la FFT.

86
C/C++ / Re: Crear fichero
« en: Lunes 22 de Junio de 2009, 07:17 »
¿Qué versión de VC++ utilizas? En muchas ocasiones, los mismos componentes ya cuentan con alguna función que permite guardar el contenido a algún archivo de texto, checa en la documentación del componente que estás utilizando.

87
C/C++ / Re: Funciones con estructuras
« en: Lunes 22 de Junio de 2009, 07:09 »
No se entiende con qué tienes problemas, ¿puedes aclararlo?

88
C/C++ / Re: Menus e interfaz grafica, multiarchivo
« en: Lunes 22 de Junio de 2009, 07:05 »
Para llamar a los programas que ya has creado, no es solamente renombrar la función main a algún otro nombre, sino también adecuarlos según se requiera.

La segunda debes definirla, mencionas tres lenguajes diferentes (Gambas es Basic).

89
Matlab / Re: importar VARIOS .txt en MATLAB
« en: Sábado 13 de Junio de 2009, 05:12 »
¿Qué tipo de modificación debes hacerle al nombre del archivo en cada iteración? Si se trata de una numeración consecutiva el ciclo for es lo adecuado, en mi anterir mensaje tienes la solución:
Cita de: "Geo"
Código: Matlab M
  1. for i = 1 : 100
  2.     % concatenando
  3.     nombre_archivo1 = [ 'nombre_archivo_' num2str( i ) '.txt' ];
  4.  
  5.     % usando sprintf
  6.     % nombre_archivo2 = sprintf( 'nombre_archivo_%d.txt', i );
  7. end
  8.  

90
C/C++ / Re: SALUDOS
« en: Sábado 30 de Mayo de 2009, 17:32 »
Gracias por los saludos :).

91
C/C++ / Re: letras dibujadas con asteriscos
« en: Viernes 29 de Mayo de 2009, 03:25 »
No hay una función para dibujar letras como mencionas.
Hay funciones para colocarse en cierta posición de la pantalla (como el gotoxy del viejo TurboC o funciones de consola de Windows). También, una alternativa es que las vayas "escribiendo" línea por línea.

92
C/C++ / Re: Leer palabras aleatorias desde un archivo
« en: Jueves 28 de Mayo de 2009, 07:46 »
Teniendo varias palabras almacenadas en un archivo, utiliza la función rand() para generar un número aleatorio y así seleccionas alguna.

93
Matlab / Re: evitar bucles
« en: Lunes 25 de Mayo de 2009, 03:34 »
Una forma un tanto "burda":

  • resta los vectores
  • convierte el resultado a números sin signo (los números negativos se convertirán en ceros)
  • si es necesario, convierte nuevamente al tipo original

94
Matlab / Re: Asignación dinámico de variables
« en: Lunes 25 de Mayo de 2009, 03:10 »
Para eso existen sitios como este, para que aprendamos entre todos :).

95
C/C++ / Re: archivos entrada y salida
« en: Sábado 23 de Mayo de 2009, 04:48 »
Para archivos de texto puedes leer con fscanf y escribir con fprintf.

En C con clase encuentras un tutorial: http://c.conclase.net/ficheros/index.php

Suerte.

96
Matlab / Re: evitar bucles
« en: Jueves 21 de Mayo de 2009, 23:46 »
La función max hace eso precisamente:

Código: Matlab M
  1. x = [ 4 7 9 ];
  2. y = [ 3 8 2 ];
  3.  
  4. z = max( x, y )
  5.  
Lo único a notar es que los parámetros para la función max deben tener las mismas dimensiones.

97
C/C++ / Re: Copiar nombre de un fichero eliminando la extensión
« en: Jueves 21 de Mayo de 2009, 02:15 »
Una forma muy fácil usando strtok

Código: C
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main() {
  5.     char nombre[] = "datos.dat";
  6.     printf( "nombre: %sn", nombre );
  7.  
  8.     strtok( nombre, "." );
  9.     printf( "nombre: %sn", nombre );
  10.  
  11.     return 0;
  12. }
  13.  

98
Matlab / Re: importar VARIOS .txt en MATLAB
« en: Martes 19 de Mayo de 2009, 22:14 »
Lo más fácil sería que los nombres de archivo fueran algo como nombre_X.txt, donde X es un número consecutivo:

Código: Matlab M
  1. for i = 1 : 100
  2.     % concatenando
  3.     nombre_archivo1 = [ 'nombre_archivo_' num2str( i ) '.txt' ];
  4.  
  5.     % usando sprintf
  6.     % nombre_archivo2 = sprintf( 'nombre_archivo_%d.txt', i );
  7. end
  8.  

De otra forma, usa la función list para obtener todos los archivos que se encuentran en la carpeta, los recorres y vas cargando los que desees :).
Código: Matlab M
  1. % obtiene los archivos que se encuentran en la carpeta
  2. % dir devuelve un vector de estructuras con los siguientes elementos: name, date, bytes, isdir y datenum.
  3. archivos = dir();
  4.  
  5. % muestra la propiedad name
  6. for i = 1 : size( archivos )
  7.     disp( archivos( i ).name );
  8. end
  9.  

99
Matlab / Re: Ejecutable sin .fig
« en: Martes 19 de Mayo de 2009, 21:31 »
No entiendo lo que estás buscando hacer, se adaptan códigos a otros lenguajes, no ejecutables. A no ser que lo que desees sea correr el programa desde otra aplicación, intenta aclarar :).

100
Matlab / Re: Asignación dinámico de variables
« en: Martes 19 de Mayo de 2009, 04:58 »
No es posible lo que pretendes, para ello precisamente se crearon los vectores y matrices. ¿Por qué no te sirve usar una matriz y referirte a cada fila dentro de ella sin tener que pasar cada una a otro vector?

Páginas: 1 2 3 [4] 5 6 ... 41