|
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 - m0skit0
Páginas: 1 ... 56 57 [58] 59 60 ... 100
1426
« en: Lunes 16 de Marzo de 2009, 16:03 »
lo voy a hacer en forma estatica definiendo un vector en vez de un puntero y dandole una dimension fija, Bueno, como ya te dije, un vector es un puntero. Lo que no termino de entender es que pLD[c].a=c; te funcione a secas y cuando le añadas pLD[c] = new LD; te dé problemas. Por cierto, siempre tienes la solución de hacerte una lista enlazada y definirle el operador []. Ánimo y suerte
1427
« en: Lunes 16 de Marzo de 2009, 14:22 »
Por favor, sé más detallista en tus respuestas... Ponle etiquetas de código a tu código y podremos entendernos mejor al indicar el número de línea. ¿O acaso creías que lo de las etiquetas de código es por capricho? Porque sinceramente no entiendo al principio en esa posicion Salud
1428
« en: Lunes 16 de Marzo de 2009, 14:04 »
pero si has ejecutado el código ,verás que el valor no se guarda al salir del proceso No puedo ejecutarlo en estos momentos, pero tú si me puedes decir qué valor te pone... ¿Es un valor incorrecto o es el valor de otro proceso? También sería buena idea hacer un printf() del PID del proceso nieto nada más entrar en él, como haces con los hijos en printf("el pid es: %dn",pid); printf("el otro pid es: %dn",getpid()); Aparte, es tontería la sentencia printf("el pid es: %dn",pid); porque ya sabes que es 0 por el if anterior otra cosa,cuando me dices que me haga una funcion para poner el código ejecutado por los hijos ,que quieres decir en concreto,? eso no te entendí bien....
Simplemente no poner todo el código en main(), sino hacer una función aparte con el código de los hijos, así resulta más entendible. Sólo es un consejo personal para que mejores la presentación de tu código, nada más. No añade funcionalidad ni corrige el error.
1429
« en: Lunes 16 de Marzo de 2009, 12:12 »
Hola de nuevo, peña. En el administrador ODBC de Windows tengo puesto RESTP como "Oracle en OraClient10g_home1" y RESTP_MS como "Microsoft ODBC para Oracle" en el DSN del sistema. Problema al intentar conectar ( Oracle 10g): Set dbConn = New ADODB.Connection With dbConn .Provider = "OraOLEDB.Oracle" .ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=RESTP;" & _ "User ID=usuario;Password=pass;" .Open End With
En la línea 6 me da el error 3706 "No se encontró el proveedor especificado", tanto si uso RESTP como RESTP_MS. En tnsnames.ora tengo definido RESTP: RESTP = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = X.X.X.X)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = restp) ) )
Uso Windows 2000. ¿Puede ser un problema de permisos?
1430
« en: Lunes 16 de Marzo de 2009, 10:37 »
El gerente de la empresa se queja de que casi todo el personal nuevo que contrata no conoce Linux  ¿Para qué los contrata entonces? desea migrar a Windows. Supongo que te refieres a los servidores. Habría que ver si la aplicación PHP no use funciones específicas de Linux, si no, no debería haber problema, aunque ya se sabe...  Si son los clientes, no creo que haya problema en que sean Windows si sólo deben acceder al servidor por medio de HTTP.
1431
« en: Lunes 16 de Marzo de 2009, 10:31 »
Bienvenido al foro BioK.
UTILIZA LAS ETIQUETAS DE CÓDIGO
Tu problema radica en que estás haciendo referencia a textFreq1, que no existe. Sólo existe txtFreq.
Salud
1432
« en: Lunes 16 de Marzo de 2009, 10:27 »
¿Qué es un "pad de firma"?
1433
« en: Lunes 16 de Marzo de 2009, 10:25 »
1434
« en: Lunes 16 de Marzo de 2009, 10:23 »
Creo que tu error radica básicamente en que no actualizas el valor de n, que usas como índice de v[]. Si vas a usar un solo valor, ¿para qué usas un vector? El segundo hijo y su hijo (el nieto de proceso principal), escriben ambos en v[0] sin distinción, así que al final no sabes si en v[0] tienes el PID del segundo hijo o el PID del nieto. El proceso principal no es quien debe esperar al nieto, sino el proceso que lo crea, es decir, el segundo hijo. P.D: como consejo, haz una función para el código ejecutado por los hijos en vez de poner todo junto, lo verás mucho más claro, tipo: Y utiliza las etiquetas de código, no de cita Salud
1435
« en: Lunes 16 de Marzo de 2009, 09:49 »
UTILIZA LAS ETIQUETAS DE CÓDIGO
Suerte
1436
« en: Lunes 16 de Marzo de 2009, 09:47 »
con esta unica linea de codigo el programa te convertira automaticamente de decimal a hexadecimal, previamente hay q convertir el numero a decimal y totalisarlo en una variable para poder usar este codigo. Pues claro que sí y también: pero creíamos que la cuestión trataba de calcularlo uno mismo, porque funciones y librerías para hacerlo ya las hay
1437
« en: Lunes 16 de Marzo de 2009, 09:44 »
lo haria como tu pero nos dijeron que recorremos una fila, y en esa fila ahi tantas columnas como hallamos creado, lo tengo puesto así en los structs asique debo ceñirme a eso, Tú tienes puesto en las declaraciones de tipos que las filas pertenecen a las columnas (por decirlo de alguna forma) y no al revés. Si te fijas, te va a resultar difícil recorrer filas asignando las columnas porque el tipo Filas no tiene ninguna referencia a qué columna pertenece, pero las columnas sí hacen referencia a las filas que poseen. Para hacerlo al revés (recorrer filas y no columnas) sin caer en un lío, te aconsejo que cambies tus tipos: struct Columnas{ char dato; // char para introducir el caracter Columnas *sig_columna; }; struct Filas{ Columnas *columnas; Filas *sig_fila; }; struct Matriz { int nf; // numero filas int nc; //numero columnas Filas *m; };
Así puedes usar el código que te puse sin mucha modificación. aux = aux->sig_columna; eso hace que pase a la siguiente column de la fila?? Bueno, como ya te he dicho, según tus tipos, son las columnas las que tienen filas, y con aux = aux->sig_columna pasas a la siguiente columna (como está comentado en el código que te puse).
1438
« en: Lunes 16 de Marzo de 2009, 09:34 »
pero asi, previamente tengo que declarar a pLD con dimensiones fijas, no puedo agreegarle elementos de forma dinamica. ¿Te da algún error el compilador o qué? Ponlo por favor.
1439
« en: Viernes 13 de Marzo de 2009, 12:52 »
1440
« en: Viernes 13 de Marzo de 2009, 12:19 »
Por supuesto Entonces siguiendo esta logica habria que preguntarle a alexistkd: ¿Lo podes hacer en C++ o simplemente lo haces en C++ por X razon inconcebible? Por supuesto  Obvias que hay mucha gente que no sabe distinguir una cosa de la otra (entre ellos yo incluído posiblemente  )
1441
« en: Viernes 13 de Marzo de 2009, 11:49 »
Esto es C++ obviamente. Sí, obvio. La pregunta era si él lo tiene que hacer en alguno de los dos lenguajes en concreto o le vale cualquier cosa
1443
« en: Viernes 13 de Marzo de 2009, 10:15 »
Hola Nightwalker
Primero, utiliza las etiquetas de código y no las de cita.
Segundo, como consejo, es un poco absurdo llamarle a un tipo de datos datos. Ya sabemos que son datos. Ponle un nombre más lógico, como tCliente, por ejemplo. Lo agradecerás más tarde cuando tengas miles de tipos de datos (o variables) en un mismo programa.
1444
« en: Viernes 13 de Marzo de 2009, 10:10 »
Yo que tú no declararía las estructuras de datos como lo has hecho. ¿Es C o C++?
1445
« en: Viernes 13 de Marzo de 2009, 10:05 »
UTILIZA LAS ETIQUETAS DE CÓDIGOdeclaro a mi puntero LD *pLD;, en el constructor de server lo inicializo asi: pLD= new LD[];, Bueno, como ya te he dicho, es tontería hacerlo así. Con new LD[] lo que haces es crear un puntero a un vector sin elementos, ni siquiera reservas la memoria para ellos (puesto que no has indicado cuántos son. Con new LD tampoco se reserva la memoria del vector, sino un solo objeto. Con new LD[c] sí reservarías espacio para c objetos de clase LD, por ejemplo. despues lo uso como si fuera un vector, le agrego todos los objetos LD que quiero desde algun metodo de server, pero como sabe el compilador que dimension darle? Como ya te dije, no tiene dimensión. Para poder agregarle objetos de forma segura (para que el sistema operativo no te borre tus datos o no generes excepciones de violación de memoria), primero debes reservar la memoria. Es lo que estás haciendo mal aquí: void Server::cambioa(int b) { int c; c=b; pLD[c].a=c; }
No puedes asignar un valor al atributo del objeto pLD[c] porque éste no existe. Así que o bien declaras con anterioridad pLD = new LD[numero_de_objetos], o bien lo haces cada vez que vayas a insertar uno nuevo, para lo que debes llevar la cuenta de los objetos: void Server::cambioa(int b) { int c; c=b; pLD[c] = new LD; pLD[c].a=c; }
Todo esto sin olvidar hacer un delete a todos los objetos creados con new en el destructor de la clase LD. Ánimo
1446
« en: Viernes 13 de Marzo de 2009, 09:46 »
Bien, hoy que estoy más despejado, te cuento: Haces la reserva 2 veces, que es algo que veo superfluo: M.m = new Columnas[c]; [...] aux = new Columnas[c];
Si lo que quieres es recorrer Columnas sin modificar el valor de M.m, entonces sustituye la asignación de aux por: Así apuntas a las columnas que ya has creado y no creas otras nuevas, que es lo que haces. Aparte, creo que tu código de creación de filas está mal (no puedo comprobarlo en estos momentos). Ya que tú mismo has definido las filas dentro de las columnas, entonces es más lógico recorrer las columnas y asignarles las filas y no viceversa como los has hecho. Algo tan sencillo como: int i; [...] //Recorremos todas las columnas for (i=0;i<c;i++) { //Creamos las filas de la columna actual aux->filas = new Filas[f]; //Pasamos a la siguiente columna aux = aux->sig_columna; }
Espero no haberme equivocado en nada  Ya me cuentas.
1447
« en: Jueves 12 de Marzo de 2009, 18:47 »
No nos desviemos del tema por favor. aux = M.m -> sig_columna;
Sí, entiendo lo que hace, pero no por qué lo haces... o unico que tengo quehacer es reservar sitios para la matriz. Ya lo has hecho con el new()Espero que tus proximos mensajes eternal sean para algo de ayuda sino te pediria porfavor que no molestases mas con esos mensajes que no sirvver para nada, espero que no te tomes a mal mi mensaje, gracias y un saludo. Uf, no sabes dónde te estás metiendo...
1448
« en: Jueves 12 de Marzo de 2009, 18:26 »
Ah, ok, ya lo pillo, soy un poco lerdo la verdad Tampoco entiendo a qué viene: aux = M.m -> sig_columna;
¿Por qué te saltas la primera columna?
1449
« en: Jueves 12 de Marzo de 2009, 18:18 »
No, si no me molesto, es que simplemente no llego a entender estas mezclas multiparadigma (ni para qué sirven) y seguramente Eternal Idol te guiará mejor que yo. Por ejemplo: no sé qué pretendes con esto, ni siquiera entiendo por qué te compila  Así que sobrepasa mis conocimientos, eso es todo. Salud y no te desanimes
1450
« en: Jueves 12 de Marzo de 2009, 18:06 »
Mejor volve a leer el codigo, eso no es C ni de lejos y si es codigo valido en C++ (un lenguaje multiparadigma). Pues vale. Si compila, tira. Ayúdale tú, que sabes más. Salud.
Páginas: 1 ... 56 57 [58] 59 60 ... 100
|
|
|