|
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 - robertogt
101
« en: Sábado 25 de Noviembre de 2006, 19:27 »
para leer de consola un caracter se utiliza try{ System.in.read(); }catch (IOException ex) { }
para leer varios caracteres, y meterlos a una cadena hasta que presiones ENTER puedes hacerlo así: String cadena; char c; try{ while ((c=(char)System.in.read())!='\n'){ cadena.append(c); } }catch(IOException ex){}
... Si no fuera mucho me podras ayudar con un ejemplo switch como así un "ejemplo switch"
102
« en: Sábado 25 de Noviembre de 2006, 07:36 »
ya probaste con getch()???, en c++ si funciona (no estoy seguro si en visual c++ también), hay que tener cuidado cuando utilizás teclas extendidas, como las flechas, por ejemplo, estas retornan 2 valores, el primero es un cero, y el segundo valor es el de la flecha que presionaste, tendiras que validar eso. a=getch(); if(a==0) a=getch();
tambien existe getchar(), pero esta hace eco en pantalla
103
« en: Sábado 25 de Noviembre de 2006, 07:19 »
Yo tenia entendido que Java eliminaba la memoria automaticamente, pero sino, podés probar con "delete", pero esto no se usa igual que C++ sino estoy mal. alguien puede aclarar esto un poco más??, tambien tengo mis dudas acerca de esto. saludos
104
« en: Sábado 25 de Noviembre de 2006, 06:28 »
Hola, pues el problema no se mira tan complicado. lo que debes haces es que a la hora que se le pida al usuario que ingrese el caracter a buscar, lo almacenas en una variable tipo String, asi como la cadena, luego con la función CharAt, y un contador recorres la cadena de caracteres, y vas comparando caracter por caracter y cada vez que coincidan aumentas un contador. algo así quedaria el programa: //supongamos que la información la ingresas en TextArea String CADENA= area_texto.getText() // obteniendo la cadena String caracter = area_texto2.getText() // obteniendo el caracter for(int i=0; i<CADENA.length(); i++) { // no se si funciona pero esta es la idea if(CADENA.charAt(i)==caracter.charAt(0)) contador++; } System.out.println("caracter:"+caracter+",repedido:"+contador+" veces");
Hay muchas formas de comprara cadenas, por ejemplo con "equals", si deseas ignorar mayusculas y minusculas, puedes usar, "equalsIgnoreCase", if(cadena1.equals(cadena2))
esto devuelve un valor booleano tambien existe el "compareTo" y "compareToIgnoreCase", tambien para pedir información al usuario mientras corre la aplicación, puedes usar componentes de Swing, como los JDialog, o los JOptionPane.
105
« en: Jueves 23 de Noviembre de 2006, 23:07 »
Mi consejo es que no esperés a que alguien te mande el codigo de como hacer este programa, a demas aqui no se hacen tareas  . porque no empezas a hacerlo y las dudas que te vayan surgiendo, las publicás.
106
« en: Martes 21 de Noviembre de 2006, 18:52 »
ok, pero contame, como estas delimitando el cambio de linea?, o sea como sabés que hay un cambio de linea. en el ultimo caracter de cada linea pongo un espacio se vuelve loco es decir este problema solo te da cuando ponés en el ultimo caracter de cada linea?, o solo con que lo pongas en una linea da el error??
107
« en: Martes 21 de Noviembre de 2006, 06:02 »
me imagino que tu programa tiene que pedirle al usuario que ingrese la forma en que va a resolver la expresion ingresada, es decir va a preguntar si se quiere hacer en notacion prefija, posfija o infija, cierto?
la idea que tengo de como hacerlo es ir metiendo los valores en una pila, e ir comparando los signos que vas encontrando a lo largo de la expresion, por ejemplo si tenemos 2+3*9, lo primero que encontrara es un 2, luego eso lo mete a la pila, luego encuentra un +, lo mete a la pila otra vez, luego encuentra un 3 y lo mete a la pila
bueno y luego encontrara un *, este signo tiene más prioridad que el +, luego esto quiere decir que el 3 no se tiene que sumar con el 2, entonces metes el * a la pila, luego encontras un nueve y lo metes a la pila, luego encuentra el fin de la cadena y empezas a operar, el primer signo de operacion que encontrara es un *, multiplicas los dos numeros que estan a la par de él, el 3 y el 9, y te da un resultado y ese resultado lo pones en la posicion de la pila donde estaba el 3, luego efectuas la suma de 27 y 2.
ahora si tuvieras 2+2+3, cuando encuentre el segundo signo +, como tienen igual prioridad, operarias inmediatamente el 2+2, y en tu primera posicion de la pila estaria un 4, luego seguiria otro signo más, (lo ultimo que leiste), y luego se inserta el 3, y como se termino la cadena operas lo que esta adentro de la pila. lo mismo para los signos de agrupacion que uses.
Ojala te haya ayudado y no en lugar de eso confundirte. saludos
108
« en: Martes 21 de Noviembre de 2006, 02:52 »
Pues esto a lo que te referís es a la notacion Polaca, si no estoy mal, de primero aclaranos algunas cosas, como por ejemplo si se va a manejar jerarquias de operaciones, y si se van a usar signos de agrupación, como parentesis, corchetes, llaves???, Para empezar a darte una idea, cada operación como suma, resta multiplicacion y division tiene una prioridad, por ejemplo en una operacion 2+6*3, se hará de primero el seis por 3, y luego se le sumara el dos. es decir la multiplicacion tiene mas prioridad que la suma, eso lo podes manejar a base de banderas. No se si te entendi bien tu pregunta.
109
« en: Martes 21 de Noviembre de 2006, 02:21 »
Ya intentaste buscar el la web las interrupciones para lograrlo  ?, hay mucha información de esto si la buscas con cuidado
110
« en: Martes 21 de Noviembre de 2006, 02:18 »
No te entiendo muy bien la pregunta, ni como es que estan ordenados los numeros en sí, es decir, en cada fila vienen diferentes cifras? o que?, pero por lo entiendo lo que podrías hacer es obviar los caracteres con el codigo asccii del espacio, yo me imagino que para determinar el cambio de linea estas verificando que el caracter que estas leyendo es un intro, es decir un caracter con codigo asccii 13
111
« en: Lunes 20 de Noviembre de 2006, 03:50 »
Tenés que tener en cuenta que aqui no se hacen tareas, solo se dan pistas. y a mi parecer esa son preguntas para una tarea, no se si estoy mal.
112
« en: Sábado 18 de Noviembre de 2006, 05:12 »
Si es cierto, bueno el post, lo puse yo, pero ahora si ya me confundieron. Si no es nunguno de la lista, entonces la forma para usar 640x480 con 16 colores en ensamblador, unicamente sería usando el modo 12h, con la interrupcion 10h??
113
« en: Viernes 17 de Noviembre de 2006, 22:42 »
ok, gracias, voy a probar y ahi les cuento
114
« en: Viernes 17 de Noviembre de 2006, 22:16 »
strcmp, lo que hace es que devuelve un cero si las dos cadenas son exactamente iguales, es decir 'hola' no es lo mismo que 'Hola', devuelve un numero menor a cero si la segunda cadena es mayor a la primera, por ejemplo 'aa' es menor que 'ab', y devuelve mayor a cero si la primera cadena es mayor a la segunda, ahora si no quieres que importe el CASE de las cadenas, podes usar strcmpi.
115
« en: Viernes 17 de Noviembre de 2006, 21:42 »
Saludos. tengo que hacer un juego en ensamblador, pero tengo que usar el modo de video con resolucion 640 x 480, con 16 colores, encontre esta tabla pero no se cual de los modos es el que tengo que usar, no se que significan las siglas "K", o "M" al final de algunas de las resoluciones. la pregunta sería ¿cual de estos modos es el que tengo que usar?. muchisimas gracias de antemano
MODO - RESOLUCIóN ------------------- 100h - 640x400x256 101h - 640x480x256 102h - 800x600x16 103h - 800x600x256 104h - 1024x768x16 105h - 1024x768x256 106h - 1280x1024x16 107h - 1280x1024x256 108h - 80x60 texto 109h - 132x25 texto 10Ah - 132x43 texto 10Bh - 132x50 texto 10Ch - 132x60 texto 10Dh - 320x200x32K 10Eh - 320x200x64K 10Fh - 320x200x16M 110h - 640x480x32K 111h - 640x480x64K 112h - 640x480x16M 113h - 800x600x32K 114h - 800x600x64K 115h - 800x600x16M 116h - 1024x768x32K 117h - 1024x768x64K 118h - 1024x768x16M 119h - 1280x1024x32K 11Ah - 1280x1024x64K 11Bh - 1280x1024x16M ---------------------
116
« en: Jueves 16 de Noviembre de 2006, 18:11 »
Hay varios tipos de arboles, estan los arboles B, los AVL, los binarios, (creo que hay otros pero no estoy seguro) pero lo que pasa es que las busquedas e incersiones son más rapidas en los arboles que en listas, lo que pasa es que en las listas las busquedas e incersiones son secuenciales, o sea recorres toda la lista hasta el final para encontrar un dato, o bueno en el mejor de los casos el dato que buscas en las listas se encuentra cerca del principio o del fin, sin son listas dobles. Cada tipo de arbol es diferente y sirven para diferentes cosas. además en los arboles los datos pueden estar ordenados jerarquicamente. o sea si los datos son muchos los arboles son mejores que las listas.
117
« en: Lunes 13 de Noviembre de 2006, 06:21 »
Este codigo te puede servir, yo tengo dos archivo, uno que se llama macros.inc que es este .MODEL SMALL .stack 64 _escribir MACRO cadena lea dx, cadena mov ah, 09h int 21h ENDM _leer_tecla MACRO mov ah, 10H int 16h ENDM _salir MACRO mov ah, 4ch int 21h ENDM ;---------------------------------------------------------------------- y luego otro archivo .asm que el codigo es el siguiente ;-------------------------------------------------------------------- INCLUDE macros.inc .data t_izquierda db 'tecla IZQUIERDA presionada ', 10, 13, 36 t_derecha db 'tecla DERECHA presionada ', 10, 13, 36 t_arriba db 'tecla ARRIBA presionada ', 10, 13, 36 t_ninguna db 'ninguna coincide ', 10, 13, 36 .code main proc far mov ax, @data mov ds, ax _leer_tecla l_while: compara: cmp al, 0e0h ;compara si la tecla presionada es expandida JE l_igual JMP l_no_igual l_igual: cmp ah, 48h ; codigo de tecla para arriba JE l_arriba cmp ah, 4bh ; codigo de tecla para la izquierda JE l_izquierda cmp ah, 4dh ; codigo de tecla para la derecha JE l_derecha cmp ah, 50h ; codigo de tecla para abajo JE _end_while l_arriba: _escribir t_arriba JMP l_while l_izquierda: _escribir t_izquierda JMP l_while l_derecha: _escribir t_derecha JMP l_while l_no_igual: _leer_tecla JMP l_while _end_while: _escribir t_ninguna _salir main endp end main ;---------------------------------------------------------------- lo que hace el programa es desplegar que tecla presionaste, se sale con presionar la tecla hacia abajo, se puede hacer con otra interrupcion  , con esto te podés guiar para hacer tu programa
|
|
|