• Miércoles 6 de Noviembre de 2024, 05:41

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.


Temas - pacorubio77

Páginas: 1 [2] 3 4
26
ADA / consulta de impresion por pantalla
« 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
C/C++ / como imprimo esta cadena?
« 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
C/C++ / recomendacionea para matar este proceso??
« 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,

Citar
#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
C/C++ / me resolveis esta duda sobre registros?
« 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
C/C++ / tengo error , pasar parametro por referencia en C
« 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
C/C++ / guardar pid de procesos padres,pongo ejemplo
« 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
C/C++ / desarrollo de procesos
« 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
C/C++ / c++ y gestion de procesos
« 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
ADA / soy nuevo y principiante en Ada
« 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:

Código: Text
  1. WITH Ada.Text_IO;USE Ada.Text_IO;
  2. WITH Ada.Integer_Text_IO;use Ada.Integer_Text_IO;
  3.  
  4. procedure excep is
  5.    SUBTYPE Temperatura IS Integer RANGE 0..100;
  6.    Num: Integer;
  7.    tam:Integer:=2 ;  
  8. begin
  9. -- Leer la temperatura del sensor y calcular su valor
  10.    Put ("introduzca un numero");  
  11.    Ada.Integer_Text_IO.Get(num);
  12.       Ada.Text_IO.Put("el numero leido es : ");
  13.       Ada.Integer_Text_IO.Put(Item=>Num,width=>tam);
  14. exception
  15. -- manejador para Constraint_Error
  16.    when CONSTRAINT_ERROR =>Put("hola a todos");
  17. end excep;
  18.  
  19.  

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
ADA / soy nuevo en Ada,estoy empezando,tengo dudas
« 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
C/C++ / este makefile está completo?
« 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:
Código: Text
  1. OPC=-g
  2. COMP=g++
  3.  
  4. all: afi2afd
  5. afi2afd: afi2afd.o
  6.     $(COMP) $(OPC) afi2afd.o -o afi2afd
  7. afi2afd.o: afi2afd.cc afi2afd.h
  8.     $(COMP) $(OPC) -c afi2afd.cc
  9. clean:
  10.     rm -f $(OBJ)
  11.     rm -f afi2afd
  12.  
  13.  

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
C/C++ / algoritmo para identificar que dos vectores son iguales
« 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
C/C++ / compilar con el valgrind,
« 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
C/C++ / tamaño de un vector
« 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
C/C++ / me dais una idea para leer el fichero?
« 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
C/C++ / hacer un vector un registros,mientras lees fichero?
« 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:

Código: Text
  1. struct Tregistro{
  2.     int origen;
  3.     char simbolo;
  4.     int destino;
  5.  
  6. };
  7. Tregistro vector[100];
  8.  
  9. void LeerFichero(char fichero[]){
  10.  
  11.     fstream fic;
  12.     string linea;
  13.     Tregistro aux;  
  14.     int i=0;
  15.     fic.open(fichero,ios::in);
  16.    
  17.     if(!fic){
  18.  
  19.         cout<<"error,apertura del fichero"<<endl;
  20.     }
  21.     else{
  22.         //cout<<"aqui"<<endl;
  23.         //getline(fic,linea);
  24.         //cout<<linea<<endl;
  25.         fic.read((char*)&aux,sizeof(Tregistro));
  26.         while(!fic.eof()){
  27.             vector[i]=aux;
  28.             //cout<<"y aqui"<<endl;
  29.             cout<<vector[0].origen<<endl;
  30.             //getline(fic,linea);
  31.             //cout<<linea<<endl;
  32.             fic.read((char*)&aux,sizeof(Tregistro));
  33.         i++;    
  34.         }
  35.        
  36.     }
  37.     fic.close();
  38. }
  39.  
  40.  

me podeis ayudar???
un saludo,gracias.

42
C/C++ / como paso de int a string en c++??
« 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:

Código: Text
  1. int main(){
  2.  
  3.     int numero;
  4.     string snumero;
  5.     char cnumero[255];
  6.     cout<<"introduce un numero "<<endl;
  7.     cin>>numero;
  8.     itoa(numero,snumero,10);
  9.     //snumero=string(numero);
  10.     cout<<"el numero introducido es el string "<<snumero;
  11. }
  12.  

Me dice alguien otra forma???Gracias.

43
C/C++ / no encuentro error en el paso de parametros,
« 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
C/C++ / problema con orden lexicografico
« 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
C/C++ / porque me da este fallo ?
« en: Jueves 6 de Noviembre de 2008, 00:25 »
Código: Text
  1.  
  2. Hola,si yo tengo esta clase:
  3.  
  4. class Medico{
  5.  
  6.            private:
  7.                     string nombreApellidos;
  8.            public:
  9.                    Medico();
  10.                    Medico(const Medico &m);
  11.                    ...etc...etc
  12.  
  13.  
  14.  
  15. };
  16. #endif
  17.  
  18.  

y en la implementacion,es decir en el Medico.cc tengo lo siguiente:
Código: Text
  1.  
  2. Medico::Medico(string nombreAp)
  3. :nombreApellidos(nombreAp)
  4. {  }
  5.  
  6. Medico::Medico(const Medico &m)
  7. :nombreApellidos(m.nombreAp)  //aqui me da el error...y no se porque
  8.  
  9. {  //aqui pongo el codigo}
  10.  
  11.  
  12.  

donde me da el error no se si tengo que poner m.nombreApellidos,pero no se porque?

Me podeis ayudar

46
C/C++ / de sintaxis de dicho método
« 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
C/C++ / Darme una idea de sacar la diferencia en años entre fechas
« 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
C/C++ / estoy utilizando bien difftime?
« 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:
Código: Text
  1. int Fecha::getDiferenciaAnyos(const Fecha &f)const{
  2.  
  3.     double diferencia;
  4.     cout<<"AAAAAAAAA"<<endl;
  5.      time_t ahora=time(0);
  6.  
  7.     tm* tm1=localtime(&ahora);
  8.     tm* tm2=new tm(*tm1);
  9.  
  10.     tm1->tm_mday=dia;
  11.     tm1->tm_mon=mes-1;
  12.     tm1->tm_year=anyo-1900;
  13.    
  14.     time_t t1=mktime(tm1);
  15.     time_t t2=mktime(tm2);
  16.     cout<<t1<<" "<<t2<<endl;
  17.     diferencia=difftime(t2,t1);
  18.     cout<<diferencia<<endl;
  19.     double min=diferencia/60;
  20.     cout<<min<<endl;
  21.     double hor=min/60;
  22.    
  23.     double dia=hor/24;
  24.     cout<<(dia)<<endl;  
  25.     double an=(dia)/365;
  26.     cout<<an<<endl;
  27.  
  28.  
  29. return int(diferencia);
  30. }
  31.  
el código que presento estoy fallando en algo
espero respuesta,

49
C/C++ / duda al pasar un numero
« 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
C/C++ / algun experto de lex ,que me ayude
« 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?

Páginas: 1 [2] 3 4