|
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 - plaf
1
« en: Martes 15 de Junio de 2004, 03:03 »
estoy trabajando con swt y quiero serializar un Text (q no es serializable) cree una clase Texto q hereda de Text pero no funca, alega q Text no tiene constructor sin parametros se q hay q sobrecargar la serializacion, pero no cacho como implementar el constructor
2
« en: Sábado 5 de Junio de 2004, 03:58 »
ARGH parece q estaba bien la 2a cosa q hice, el error estaba en otra parte...
3
« en: Sábado 5 de Junio de 2004, 03:31 »
holas, soy nuevo en java, se de C++ asi q con eso me defiendo bastante en java, pero me salio un problema: como inicializo un arreglo de objetos de una misma clase con los mismos argumentos? trate de hacer Clase[] objeto; for(i=0;i<3;i++) objeto[i] = new Clase(argumentos);
pero no compila, me dice dentro del for q objeto podria no estar inicializado O_o tb trate de inicializar sin argumentos y despues reinicializarlo: Clase[] objeto = new Clase[3]; for(i=0;i<3;i++) objeto[i] = new Clase(argumentos);
pero no se reinicializan, quedan inicializados con los argumentos por defecto (no los q puse dentro del for) tb trate de hacer algo tipo Clase[] objeto = new Clase[](argumentos);
pero no me deja esto deberia ser facil... xq no funca? :?
4
« en: Martes 16 de Marzo de 2004, 20:26 »
yo hice lo mio con este tutorial q es bien claro y preciso, es cosa de hacer las funciones para conectarse del host y del cliente y el resto es puro mandarse strings para comunicarse con send() y recv()
5
« en: Martes 16 de Marzo de 2004, 00:43 »
hacer el juego para jugarlo entre humanos es bastante facil, y agregarle la conectividad por red no es tan dificil como parece. de hecho es bastante simple (x lo menos hacer q ande, de ahi a q funcione perfecto y con cosas extras y todo eso es mas trabajo) yo hice unas damas (2 usuarios mismo pc) sabiendo muy poco, y hace unos meses hice un jueguito en red y me demore un par de dias en echarlo a andar tras partir de 0 en el tema. es cosa de buscar tutoriales y ejemplos de winsock y estas listo, es poco el codigo q hay q agregar para la redificacionalizacionamientacion
6
« en: Jueves 4 de Marzo de 2004, 23:19 »
la verdad verdad verdad, no sabo pero lo puedes hacer artesanalmente  como la ventanita es de ancho fijo (bueno, es ajustable pero nadie la ajusta...) =80 caracteres, es cosa de contar los caracteres y poner (80-n)/2 espacios antes. algo asi: char *frase; int i, espacios; sprintf(frase, "todo lo q pensabas poner el printf"); espacios = 40 - strlen(frase)/2; for(i=0;i<espacios;i++) printf(" "); printf(frase);
ahora si lo quieres mas tecnologico, revisa si el largo es mayor a los 80 de maximo y cortas la frase en 2 o mas partes, pero basicamente eso funciona
7
« en: Jueves 4 de Marzo de 2004, 23:10 »
gracias a los 2, ya me funciono  busque el opendir() en msdn y... chachan! encontre el ejemplo q puso ruben3d  por si alguien tb quiere hacer esto, le regalo el codigo... no es la gran cosa, es un vil copypastel recortado, pero igual funca  #include <windows.h> #include <stdio.h> #include <stdlib.h> int termina(char *palabra, char *fin) { int i,p,f; p=strlen(palabra); f=strlen(fin); for(i=1;i<=f;i++) if(palabra[p-i] != fin[f-i]) return 0; return 1; } void ScanDir() { BOOL fFinished; HANDLE hList; WIN32_FIND_DATA FileData; hList = FindFirstFile(".\\*", &FileData); fFinished = FALSE; while (!fFinished) { // Check the object is a directory or not if (!(FileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) && termina(FileData.cFileName,".cpp")) printf("%s\n",FileData.cFileName); if (!FindNextFile(hList, &FileData)) { if (GetLastError() == ERROR_NO_MORE_FILES) { fFinished = TRUE; } } } FindClose(hList); } int main(int argc, char *argv[]) { ScanDir(); printf("\ndone.\n"); system("pause"); }
8
« en: Jueves 4 de Marzo de 2004, 22:34 »
pfff... ya te hicieron la tarea, x lo menos leela antes de copiar pegar... parece q mabrev se acostumbro a basic o algo asi  es cosa de q revises las lineas con error y recuerdes q es lo q te enseñaron sobre las funciones y como retornar valores
9
« en: Lunes 1 de Marzo de 2004, 06:39 »
mas q while(kbhit()) no deberia ser if(kbhit())? algo asi como while(1){ printf("%d\n",n); if(kbhit()) n--; else n++; }
y cuando tengas dudas sobre lo q hace una funcion especifica, te recomiendo msdn, a mi siempre me saca de apuros. MSDN - kbhit()
10
« en: Domingo 29 de Febrero de 2004, 23:28 »
eso, como puedo meterme a una carpeta y agarrar una lista de los archivos q tiene? algo asi como un "dir" pero guardando el output. no importa como quede, despues se arregla... la idea es leer todos los archivos (1 a 1) *.algo de una carpeta, pero estos no siguen un patron en el nombre, son cualquier cosa
11
« en: Jueves 26 de Febrero de 2004, 18:33 »
metele un system("dir"); para ver donde esta parado
12
« en: Jueves 26 de Febrero de 2004, 04:15 »
quizas si te esta creando el directorio pero en otra parte, por ejemplo en c:\ o el directorio raiz de turno... depende de desde donde estes ejecutando el programa
13
« en: Jueves 19 de Febrero de 2004, 21:20 »
mas facil te sale usar sprintf(), q es igual q el printf() pero en vez de imprimir el texto en pantalla lo imprime en un string q le das como parametro, asi: sprintf(string,"ping %i.%i.%i.%i", ip1, ip2, ip3, ip4); system(string);
14
« en: Sábado 31 de Enero de 2004, 00:37 »
te faltaron los {} en los case, y los ' ' son para caracteres, asi q no deberian ir ahi y como opcion te recomiendo poner los casos ordenados al reves y no poner breaks, asi puedes ir sumando de a 1 en vez de todos los meses cada vez switch ( b ) { case 12: resultado+=30; case 11: resultado+=31; case 10: resultado+=30; case 9: resultado+=31; case 8: resultado+=31; case 7: resultado+=30; case 6: resultado+=31; case 5: resultado+=30; case 4: resultado+=31; case 3: resultado+=28; case 2: resultado+=31; }
de esta forma el programa entra por el mes correspondiente y suma todos los demas bueno le saque los breaks asi q ya no necesitaba los {}, pero debio haber sido asi: case 23:{ resultado+=666; break; }
15
« en: Martes 27 de Enero de 2004, 22:27 »
no deberia ser char *Insertar (char *cad, char car, int pos);?
pero bueno, lo q te piden es una funcion q le meta un caracter entremedio a un string, por ejemplo tienes en char *cad "hola" y al hacer cad=Insertar(cad,'8',2); cad tiene q quedar "ho8la"
y lo de los indices y punteros supongo q se refieren a hacerlo con la posicion i del string (for(i=0;cad;i++) etc...) o con los caracteres a los q apunta el puntero (for(;*cad;cad++) o algo asi...)
16
« en: Sábado 24 de Enero de 2004, 00:21 »
segun entendi quieres q corra solo todo el rato hasta q alguien aprete "2" para eso tienes q getchear solo si hay alguna tecla apretada, asi: char c; do{ // accion if(kbhit()) c=getch(); }while(c!='2');
(getch() no muestra lo q apretaron, getche() si) chachan
17
« en: Jueves 22 de Enero de 2004, 23:25 »
esto fue lo ultimo q hice de juego, aunque no esta 100% listo xq a veces tengo problemas al jugar online, y no he seguido arreglandolo ultimamente - el .exe para jugar online- el codigo fuente de la version online- el .exe para jugar offline- el codigo fuente de la version offline- unas cuantas pistas- alleg40.dll por si alguien no tiene allegroel original se juega con lapiz y papel. juegan de 2 a 6 perosnas. la idea es ir avanzando por la pista acelerando 1 cuadro en cualquier direccion cada turno. se parte de la raya roja (aunque en el juego se ve azul O_o hay q arreglar eso) y la meta es la raya verde. dependiendo de la pista se pueden dar varias vueltas tb. si uno se sale de la pista tiene q volver al punto mas cercano a donde se salio (salen unos circulos negros) avanzando de a 1 cuadro hasta llegar, y de ahi sigue su camino. tb hice hace tiempo un juego de damas pero para 2 jugadores, no contra el pc ni online, y con ASCII (las fichas son unas caritas felices blancas/negras, caracteres 1 y 2). antes tb un memorice de esos q hay q destapar palabras, tb a puro printf() (tarea de prog). y otra cosa rara q tb era tarea pero con allegro, de un ryu q saltaba por ahi y se subia a unas plataformas q se movian o desaparecian y con X aparecia chun-li q si te tocaba morias, pero la podias matar con un hadouken  no tengo esos en este pc pero si alguien quiere despues los pongo. y no tengo pagina, o sea tengo una cosa pero no es mas q para ponerle fachada a donde subo las cosas... y tiene videos de plan z  (veanlos hay algunos muy buenos) http://www2.ing.puc.cl/~g38/
18
« en: Martes 20 de Enero de 2004, 02:06 »
con un arreglo de 15 "cosas":
struct tlf{ char nombre[23]; int fono; }tabla[15];
y si no se vale usar structs, puedes usar 2 arreglos por separado o un arreglo de strings (convirtiendo los fonos a strings)
19
« en: Martes 20 de Enero de 2004, 01:57 »
si lo q quieres es q el programa funcione pero no te importa mucho la eficiencia, da lo mismo el tipo de lista q uses, es cosa de q al buscar informacion vayas recorriendo todos los puestos de a 1 y comparando el contenido con lo q buscas
cuando metas un dato nuevo, si tomas la opcion de meterlos ordenados, vas recorriendo la lista hasta encontrar un dni mayor/menor q el nuevo y ahi insertas el nuevo dato reajustando los punteros. para borrar tb, buscas el dni y antes de borrar el dato reajustas los punteros
en el struct te falto el seminario
20
« en: Martes 20 de Enero de 2004, 01:18 »
podrias manejar los numeros guardandolos en notacion cientifica, con un float q sea el numero y un int el exponente por ejemplo si quieres sumar 2 numeros primero ves si los exponentes son parecidos, si son muy diferentes desprecias el mas chico, y si son parecidos divides el mayor por 10 elevado la diferencia de exponentes y los sumas. y asi haces ese tipo de cosas con las demas operaciones
21
« en: Viernes 16 de Enero de 2004, 20:46 »
carmamezo, no compliques las cosas, y fijate bien en el codigo y explicacion q pusieron. cuando dice "palabra " eso es un puntero a un string completo, o bueno, al primer caracter. palabra es un arreglo de n punteros. y lo q piden aca es ordenar las palabras por su largo, asi q con el codigo q puse al principio pero cambiando el strcmp() por los strlen() como puse en el otro mensaje esta bien. y lo que dices del "lio" q hay q hacer para comparar 2 strings es justamente lo q hace strcmp()
#include <stdio.h> #include <stdlib.h> #include <string.h> #define n 5 int main() { char *palabras[n], *aux; int i,j; for(i=0;i<n;i++) { printf("Introduce la palabra Nº%d: ",i+1); palabras[i] = (char *) malloc(23); scanf("%s",palabras[i]); } for( i=0; i<n; i++ ) for( j=i; j<n; j++ ) if (strlen(palabras[i]) < strlen(palabras[j])) { aux = palabras[i]; palabras[i] = palabras[j]; palabras[j] = aux; } for( i=0; i<n; i++ ) for( j=i; j<n; j++ ) if (strcmp(palabras[i], palabras[j])>0 && strlen(palabras[i])==strlen(palabras[j])) { aux = palabras[i]; palabras[i] = palabras[j]; palabras[j] = aux; } printf( "Lista ordenada:\n" ); for( i=0; i<n; i++ ) printf( " %s.\n", palabras[i] ); }
esto las deja de mayor a menor largo y las q tengan el mismo largo quedan en orden alfabetico autobus > cuatro > ocho > tres > dos > por > tu > a > b > z
22
« en: Miércoles 14 de Enero de 2004, 03:25 »
poniendo los numeros uno a uno con dos for y con un if ves si hay q poner un 0 o un 1 o sea algo asi: int i,j,matriz[10][10]; for(j=0;j<10;j++) for(i=0;i<10;i++) { if(i==j) matriz[i][j]=1; else matriz[i][j]=0; }
los for hacen q vayas avanzando de a 1 dentro de una fila y cuando llegues al final pasas a la siguiente, y el if pone un 1 si es parte de la diagonal o un 0 si no
23
« en: Miércoles 14 de Enero de 2004, 03:19 »
autobus > cuatro > tres > por > tu > b o sea q ordene solo segun el largo? entonces usa if(strlen(palabra) > strlen(palabra[j])) eso si quieres ordenar SOLO por el largo, si ademas quieres ordenar alfabeticamente entonces primero ordenas por largo, y despues con el mismo sistema q antes alfabeticamente, pero solo cambiando si tambien son del mismo largo
24
« en: Martes 13 de Enero de 2004, 22:35 »
xq palabras es un puntero apuntando a cualquier parte, tienes q reservarle memoria antes del scanf() o si no estaras tratando de escribir en lugares posiblemente prohibidos
y pues es raro tu sistema xq ordenas todo varias veces, seria mas eficiente intercambiar la p x p[j] cuando p<p[j] y despues partir revisando desde donde estas en adelante... pero lo tuyo tb funciona, eso si q con i<n o i<=n-1, no i<n-1 
#include <stdio.h> #include <stdlib.h> #define n 5 int main() { char *palabras[n], *aux; int i,j; for(i=0;i<n;i++) { printf("Introduce la palabra Nº%d: ",i+1); palabras[i] = (char *) malloc(23); scanf("%s",palabras[i]); } for( i=0; i<n; i++ ) for( j=i; j<n; j++ ) if (strcmp(palabras[i], palabras[j])<0) { aux = palabras[i]; palabras[i] = palabras[j]; palabras[j] = aux; } printf( "Lista ordenada:\n" ); for( i=0; i<n; i++ ) printf( " %s.\n", palabras[i] ); }
25
« en: Martes 13 de Enero de 2004, 21:51 »
- como se supone q puedo reconocer cuando sub es prefijo y cuando no? sin tener q adjuntar un diccionario para buscarlo y conjugarlo si es verbo, etc... porque subl* no siempre se separa en sub-l*.. vi el diccionario y estan sub-lin-gual y sub-lu-nar q sirven de ejemplo, asi q hay q decidirse entre perder unas u otras... y obviamente yo elijo la opcion en la q no tengo q cambiarle nada al codigo - con la interaccion con el usuario te refieres a mensajes de error y cosas asi? bueno, le agregue un par de printf()s... - estructuracion, pos no sabo como estructurarlo mas gonito, le saque las variables globales y le puse parametros a las funciones... no soy muy experto en programar lindo, llevo menos de un año programando... - ganador?  y q se gana? estrellitas en el perfil?  - mandar el codigo al mail es mucho esfuerzo, prefiero seguir corrompiendo al publico  ademas q tiene de malo, si lo unico q se gana con estos retos es autosatisfaccion, y q tiene de satisfactorio copiarle el codigo a otro?
|
|
|