|
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.
Temas - pacorubio77
26
« en: Domingo 22 de Marzo de 2009, 16:48 »
Hola, estoy utilizando objetos protegidos,,,pero no se como puedo ver por pantalla la impresion de una variable de tipo T_ColorSemaforo. es decir tengo una funcion que devuelve una variable semaforo de tipo T_ColorSemaforo (que puede ser verde,rojo,amarillo), pero como puedo ver por pantalla lo que devuelve dicha funcion para ver los fallos que tengo(porque no se mete en esa funcion)
Un saludo,espero respuesta. Gracias.
27
« en: Viernes 20 de Marzo de 2009, 12:26 »
Hola,quiero imprimir esta cadena por pantalla....y no me imprime los numeros entre " ",la cadena es la siguiente;
<?xml version="1.0" encoding="UTF-8"?> ,no soy capaz de que imprima la cadena con "1.0" entre comillas dobles ,igualmente "UTF-8",tambien entre comillas dobles, como lo imprimirias vosotros... es c++...yo utilizo cout<<.....
Ayuda....
28
« en: Domingo 15 de Marzo de 2009, 13:47 »
Hola,no entiendo muy bien lo de la programacion concurrente,y veo que el valor de un vector no sale fuera de un exit? explico mi caso,,yo solo quiero hacer lo siguiente ,un padre cree tres hijos y de esos tres hijos el segundo cree otro hijo,mi problema es a la hora de matar este ultimo hijo....como es normal tengo que matar de abajo hacia arriba...y yo he pensado almacenarme el getpid de este ultimo hijo en una posicion del vector y matarlo...para mi sorpresa que cuando salgo de donde lo creo ...ya no tengo el valor en mi posicion del vector....(en el codigo represento en pantalla como v1). graficamente tengo que hacer lo siguiente: Pongo el código para ver si vosotros me podeis explicar porque ese valor no se guarda y si veis otra forma mejor de matarlo..... Espero ayuda, #include<stdio.h> #include<unistd.h> #include<stdlib.h>
int main(){ int pid; int i=0; int eo; int valor; int tiempo=20; int v[10]; int n=0; for (i=0;i<3;i++) { pid=fork();
if(pid==0) { printf("el pid es: %dn",pid); printf("el otro pid es: %dn",getpid());
//creo un hijo if(i==1) { pid=fork(); v[n]=getpid(); printf("v %dn",v[n]); if(pid==0) { printf("MACARRON %dn",pid); printf("EL OTRO LADO: %dn",getpid()); sleep(3); printf("MAN MATAO %dn",getpid()); int j; /* for(j=0;j<3;j++){ printf("se mete j %dn",j); pid=fork(); if(pid==0){ //esta creando hijos printf("MACARRON %dn",pid); printf("EL OTRO LADO1: %dn",getpid()); //sleep(3); exit(0); } //exit(0); } sleep(5); //printf("aqui salen"); exit(0); */ } sleep(5); exit(0); } sleep(15); exit(0);
} printf("v1 %dn",v[n]); }
sleep(10);
int status;
waitpid(v[0], &status, 0); printf("soy el proceso con pid %d y he terminadon",v[0]); for(i=0;i<3;i++) { valor=wait(&eo); printf("man matao %dn",valor); }
//el pid del padre printf("man matao1 %dn",getpid());
exit(0);
return(0); } //compilar gcc nombre -o p1
29
« en: Sábado 14 de Marzo de 2009, 19:18 »
Hola,es una duda que tengo..puedo en una funcion devolver un struct o registro (hablo en c++),esa es mi duda,es decir puedo poner lo siguiente:
struct Tciudad{
string nombre; int habitantes; };
struct MiFuncion(){ Tciudad ciudad //aqui hago lo que tengo que hacer ....... return ciudad; }
es decir,,puede una funcion devolver un struct ? y si es afirmativo esta pregunta y mi funcion no está bien,...podrían ponerme un ejemplo que lo muestre. Aviso que está estructura que he puesto anteriormente da error de compilacion.......
Espero ayuda,Gracias.
30
« en: Lunes 2 de Marzo de 2009, 15:27 »
Hola,estoy programando en C y quiero hacer que en una funcion un parámetro sea pasado por referencia,pero en el compilador hay errores que no entiendo....pongo como creo que es :
void Funcio( int &x){
} si lo que quiero es utilizar el valor de x fuera de la funcion ,asi lo he echo de toda la vida en C++,y por lo que he leido en C tambien lo es,pero a mi me da error en el compilador....
Es que tengo el concepto mal....?
Espero respuesta. Gracias.
31
« en: Jueves 26 de Febrero de 2009, 11:31 »
Hola,la cuestion es que tengo que guardar los pids de los procesos padres y no se como hacerlo..para que salga de la siguiente forma:
Soy el proceso padre y mi pid es 8541 Soy el proceso 21: mi pid es 8542. Mis padres son: 8541 Soy el proceso 22: mi pid es 8543. Mis padres son: 8541 Soy el proceso 23: mi pid es 8548. Mis padres son: 8541 Soy el proceso 31: mi pid es 8544. Mis padres son: 8543, 8541 Soy el proceso 41: mi pid es 8545. Mis padres son: 8544, 8543, 8541 Soy el proceso 42: mi pid es 8546. Mis padres son: 8544, 8543, 8541 Soy el proceso 43: mi pid es 8547. Mis padres son: 8544, 8543, 8541
para que lo entendais,intento poner el grafico y el grafico de procesos es el siguiente
8541 | 8542 8543 8548 | | 8544 | 8545 8546 8547
eso es cuando le metemos como parametro profundidad =4;
Pero mi problema es como guardo el proceso de mis padres...
Me podeis ayudar???
32
« en: Lunes 16 de Febrero de 2009, 23:41 »
Hola,no se como empezar a plantear el siguiente árbol de procesos,no se que regla a seguir.el problema dice lo siguiente:
Realiza un programa llamado arbol.c o arbol.cc que reciba un argumento X,por ejemplo arbol 4,se cree el siguiente árbol
p11 8541 | | p21 8542 8543 8548 | | p31 8544 | | p41 8545 8546 8547
Ejemplo de ejecución: $ arbol 4 Soy el proceso padre (11): mi pid es 8541 Soy el proceso 21: mi pid es 8542. Mis padres son: 8541 Soy el proceso 22: mi pid es 8543. Mis padres son: 8541 Soy el proceso 23: mi pid es 8548. Mis padres son: 8541 Soy el proceso 31: mi pid es 8544. Mis padres son: 8543, 8541 Soy el proceso 41: mi pid es 8545. Mis padres son: 8544, 8543, 8541 Soy el proceso 42: mi pid es 8546. Mis padres son: 8544, 8543, 8541 Soy el proceso 43: mi pid es 8547. Mis padres son: 8544, 8543, 8541 /*Tras un intervalo de n segundos aparecerá */ Soy 41 (8545) y muero Soy 42 (8546) y muero Soy 43 (8547) y muero Soy 31 (8544) y muero Soy 21 (8542) y muero Soy 22 (8543) y muero Soy 23 (8548) y muero Soy 11 (8541) y muero
No puedo señalarlo,pero 8542,8543,8548 son hijos de 8541 y 8545,8546 y 8547 son hijos de 8544 ,los número no tienen porque ser estos,solo lo pongo a modo de orientacion,pero es que no se el proceso a seguir....
Me podeis ayudar a entender,como empezar el desarrollo?
Espero respuesta. Gracias.
33
« en: Domingo 15 de Febrero de 2009, 18:14 »
hola,soy un novato en c++ y gestion de procesos,la cuestion es que no entiendo lo que me pide este problema,es decir,no entiendo la regla a seguir para construir el siguiente gráfico,lo adjunto como imagen...para que veais y me ayudeis a establecer unas reglas a seguir,porque el enunciado no lo entiendo bien...
Agradecería ayuda. Muchas gracias.
34
« en: Viernes 6 de Febrero de 2009, 12:32 »
Hola,mirar consiste en que tengo que saber lanzar una excepcion,y no se como lanzarla,por ejemplo Constraint_Error,pero tengo lo siguiente: WITH Ada.Text_IO;USE Ada.Text_IO; WITH Ada.Integer_Text_IO;use Ada.Integer_Text_IO; procedure excep is SUBTYPE Temperatura IS Integer RANGE 0..100; Num: Integer; tam:Integer:=2 ; begin -- Leer la temperatura del sensor y calcular su valor Put ("introduzca un numero"); Ada.Integer_Text_IO.Get(num); Ada.Text_IO.Put("el numero leido es : "); Ada.Integer_Text_IO.Put(Item=>Num,width=>tam); exception -- manejador para Constraint_Error when CONSTRAINT_ERROR =>Put("hola a todos"); end excep;
pero no se como sacar constraint Error,porque tengo que meter un dato de tipo temperatura...verdad? Perdonen mi ignorancia,pero es que estoy empezando... Espero que me ayuden a lanzar la excepcion,y a partir de ahi ya sabré yo sacarlas.. Gracias.
35
« en: Domingo 1 de Febrero de 2009, 20:37 »
Hola.yo tengo echos dos procedimientos uno que es Hola_mundo y otro llamado subprograma2,teniendo :
procedure Subprograma2 is begin Ada.Text_Io.Put_Line(“Soy Subprograma2”); end Subprograma2;
Me piden que incluya la llamada desde el cuerpo del procedimiento Hola_Mundo al nuevo procedimiento Subprograma2.
yo entiendo que es llamar al procedimiento Subprograma2 desde el procedimiento Hola_mundo,estoy en lo cierto? pero no se como realizar esa llamada...
Me podeis ayudar? Espero respuesta.
36
« en: Jueves 8 de Enero de 2009, 01:44 »
Hola,mirar,estoy compilando dos archivos,un .h y un .cc pero me parece que no estoy haciendo un makefile completo,ya que he cambiado cosas y no me coge los fallos,el makefile que tengo echo es el siguiente: OPC=-g COMP=g++ all: afi2afd afi2afd: afi2afd.o $(COMP) $(OPC) afi2afd.o -o afi2afd afi2afd.o: afi2afd.cc afi2afd.h $(COMP) $(OPC) -c afi2afd.cc clean: rm -f $(OBJ) rm -f afi2afd
Me gustaría que me dijeraís si está completo, y si no lo está decirme las líneas para hacerlo más completo. Un saludo,espero respuesta.
37
« en: Viernes 26 de Diciembre de 2008, 11:35 »
Hola,me gustaría que alguien me dijese algún algoritmo que identifique si dos vectores son iguales,es decir que si mete v1[]={5,6,2} y v2[]={5,2,6},me diga que son iguales, alguien tiene por ahi algúno a mano?
38
« en: Lunes 15 de Diciembre de 2008, 13:59 »
Hola,a todos,necesitaría una ayuda,necesito que mi memoria de mi programa quede totalmente liberada,para comprobarlo,utilizo el valgrind, es decir tengo un fichero main,que compilo valgrind ./main,y me sale la memoria que aún no se encuentra liberada,yo lo que quiero saber ,donde está esa memoria sin liberar,y quiero que alguien me diga la opcion de como compilarlo para que me salgan las lineas de las zonas de memoria donde no la tengo liberada,espero que me ayudeis.un saludo
Espero respuesta.Gracias.
39
« en: Miércoles 3 de Diciembre de 2008, 19:45 »
Hola a todos,existe alguna función que nos diga el tamaño de un vector de enteros?
40
« en: Lunes 1 de Diciembre de 2008, 16:55 »
Hola,yo tengo ahora el siguiente problema,yo tengo un fichero que se puede presentar de la siguiente manera:
2 # 1 a 3 4 ! 4 b 9
cuando yo leo el fichero lo hago de la siguiente manera:
fic>>ori; fic>>simb; fic>>des;
while (!fic.eof()){ fic>>ori; fic>>simb; fic>>des; //hago aqui otras cosas que no vienen al caso }
pero mi pregunta es que de esta forma tendré problemas al leer 2 # o 4 ! pq solo tiene dos caracteres,no tendré problemas al leer 4 b 9 ó 1 a 3. como puedo el caso que cuando lea la linea con dos haga una cosa y cuando este'con tres haga otra?
un saludo,espero respuesta.
41
« en: Jueves 27 de Noviembre de 2008, 13:37 »
Hola,mirar yo tengo en un fichero lo siguiente: 1 b c 2 a b .... cada linea es un registro struct Tregistro{ int origen; char simbolo; int destino; }; y ahora quiero segun vaya leyendo ir metiendo en mi vector de registros Tregistro vector[100]; en la linea vector =aux....creo que está el error,el codigo es el siguiente:
struct Tregistro{ int origen; char simbolo; int destino; }; Tregistro vector[100]; void LeerFichero(char fichero[]){ fstream fic; string linea; Tregistro aux; int i=0; fic.open(fichero,ios::in); if(!fic){ cout<<"error,apertura del fichero"<<endl; } else{ //cout<<"aqui"<<endl; //getline(fic,linea); //cout<<linea<<endl; fic.read((char*)&aux,sizeof(Tregistro)); while(!fic.eof()){ vector[i]=aux; //cout<<"y aqui"<<endl; cout<<vector[0].origen<<endl; //getline(fic,linea); //cout<<linea<<endl; fic.read((char*)&aux,sizeof(Tregistro)); i++; } } fic.close(); }
me podeis ayudar??? un saludo,gracias.
42
« en: Martes 25 de Noviembre de 2008, 19:15 »
Hola estoy haciendo una prueba con itoa,pero me dice que no lo tengo definido,yo tengo lo siguiente: int main(){ int numero; string snumero; char cnumero[255]; cout<<"introduce un numero "<<endl; cin>>numero; itoa(numero,snumero,10); //snumero=string(numero); cout<<"el numero introducido es el string "<<snumero; }
Me dice alguien otra forma???Gracias.
43
« en: Domingo 9 de Noviembre de 2008, 12:01 »
Hola,se que fallo en el paso de parámetros,tengo el siguiente método:
void Especialidad::asignarMedico(const Paciente &p){
int pos; pos=MenorCarga(); medicos[pos]->addPaciente(p); }
que como veis utilizo addPaciente(p),pero claro la implementacion de este método es:
void Medico::addPaciente(Paciente *p){
pacientes.push_back(p); }
y su prototipo es:
void addPaciente(Paciente *p);
Se que el error esta cuando hago medicos[pos]->addPaciente(p),como le indico que p tiene que ser un puntero?
44
« en: Sábado 8 de Noviembre de 2008, 17:45 »
Yo tengo un enunciado de un problema que me dice que debo seleccionar el medico con menor nombre y apellidos orden lexicografico,que quiere decir eso,? yo tengo en el campo privador que nombreApellidos es string,como comparo los strings para sacar el orden lexicográfico?
45
« en: Jueves 6 de Noviembre de 2008, 00:25 »
Hola,si yo tengo esta clase: class Medico{ private: string nombreApellidos; public: Medico(); Medico(const Medico &m); ...etc...etc }; #endif
y en la implementacion,es decir en el Medico.cc tengo lo siguiente: Medico::Medico(string nombreAp) :nombreApellidos(nombreAp) { } Medico::Medico(const Medico &m) :nombreApellidos(m.nombreAp) //aqui me da el error...y no se porque { //aqui pongo el codigo}
donde me da el error no se si tengo que poner m.nombreApellidos,pero no se porque? Me podeis ayudar
46
« en: Martes 4 de Noviembre de 2008, 17:57 »
Hola a todos,mirar hay un fallo de compilacion que me dice lo siguiente:
g++ -g -c -Iinclude -o lib/Habitacion.o lib/Habitacion.cc lib/Habitacion.cc: In member function ‘Habitacion& Habitacion::operator=(const Habitacion&)’: lib/Habitacion.cc:47: error: se dió un argumento de tipo ‘class Cama’ a ‘delete’, se esperaba un puntero make: *** [lib/Habitacion.o] Error 1
y el método es el slguiente:
Habitacion &Habitacion::operator=(const Habitacion &h){ vector<Cama *>::const_iterator it;
if(this !=&h){ numero=h.numero; //liberamos el vector de camas(del objeto implicito) for(it=camas.begin();it!=camas.end();it++){ delete (**it); } //copiamos el vector de camas de h en el implicito for(it=h.camas.begin();it!=h.camas.end();it++){ camas.push_back(new Cama(**it)); }
}
return *this; }
el problema está en delete **it,cual es el fallo?,no consigo verlo ..necesito ayuda,gracias.
47
« en: Martes 28 de Octubre de 2008, 11:31 »
Hola,soy el mismo que puso el post de si estaba utilizando bien difftime,pero como creo que ahi estoy perdiendo el tiempo en funciones ,quiero hacerlo de manera "manual",y quiero que alguien me de una idea de como sacar la diferencia de años entre dos fechas:
es decir si uno ha nacido el 5/10/2002 y otro el 5/10/2003 la diferencia es de un año,pero habrá casos que compliquen 11/12/2002 y 14/5/2003 ,SI MIRARAS SOLO LOS AÑOS, LA DIFERENCIA SERIA 1,PERO EN REALIDAD NO ES 1,SINO QUE ES 0,ENTENDEIS LO QUE QUIERO DECIR?
NECESITO AYUDA,GRACIAS.
48
« en: Lunes 27 de Octubre de 2008, 21:02 »
Hola,mi duda es si estoy utilizando bien la funcion difftime para pasar dos fechas a años,el codigo es el siguiente: int Fecha::getDiferenciaAnyos(const Fecha &f)const{ double diferencia; cout<<"AAAAAAAAA"<<endl; time_t ahora=time(0); tm* tm1=localtime(&ahora); tm* tm2=new tm(*tm1); tm1->tm_mday=dia; tm1->tm_mon=mes-1; tm1->tm_year=anyo-1900; time_t t1=mktime(tm1); time_t t2=mktime(tm2); cout<<t1<<" "<<t2<<endl; diferencia=difftime(t2,t1); cout<<diferencia<<endl; double min=diferencia/60; cout<<min<<endl; double hor=min/60; double dia=hor/24; cout<<(dia)<<endl; double an=(dia)/365; cout<<an<<endl; return int(diferencia); }
el código que presento estoy fallando en algo espero respuesta,
49
« en: Domingo 26 de Octubre de 2008, 12:34 »
Hola,me gustaria como pasar este numero o números en este formato a formato normal,es decir el numero:2.3328e+08 a numero normal,existe alguna funcion?
50
« en: Viernes 24 de Octubre de 2008, 11:34 »
Hola,quisiera preguntar en este foro una pregunta sobre lex,no se si en este foro habrá algun experto,pero yo hay cosas que no se expresar en notacion lex, ahora quisiera preguntarte una una cosa,a mi en un fichero me dicen que tengo que fitrar la DESCRIPCION, LA DESCRIPCION TENDRÁ AL MENOS 2 CARÁCTERES ,Y ES UNA CADENA DE CARACTERES EN MAYUSCULAS,MINUSCULAS Y BLANCOS,QUE COMIENZA Y TERMINA SIEMPRE CON UNA LETRA.
como hago la secuencia para realizar ese filtrado?me lio mucho con la instruccion
yo si quiero que empieza con mayusculas o minisculas seria [a-zA-Z] y si pone al menos 2 seria [a-zA-Z][a-zA-Z] pero como digo yo que alterno mayusculas ,minusculas y blancos?
ya que estas cadenas me las tendria que coger como descripciones: La perra de mi abuelita esta malita Un .. Me podeis ayudar en esta duda simple?
|
|
|