|
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 - pacorubio77
Páginas: 1 2 3 [4] 5 6 ... 9
76
« en: Miércoles 25 de Febrero de 2009, 22:41 »
Hola quería saber si hay alguien que siguie mi tema para poner código....los procesos ya los creos,pero no se como sacar los printf...si me decís que se sigue mi tema.....pongo codigo realizado..
Espero respuesta.
77
« en: Jueves 19 de Febrero de 2009, 19:44 »
Hola,sobre el caso del otro dia,,tenias razon que el argumento es la profundidad,pero si la profundidad es impar,solo creará uno..es decir... p11 4055 p21 4056 4057 4068 p31 4058 El esquema quedaría asi,,es decir que el proceso 4057 sólo se crea un hijo. Teniendo en cuenta el esquema del otro día,mi pregunta es ,como puedo identificarme que cree un hijo desde el proceso que está en el medio,me refiero al proceso del medio al proceso 8543, otro proceso que está en el medio es el proceso 8546,es decir....como decir que cree hijos a partir de un proceso determinado..??? 1. p11 8541 2. | 3. | 4. p21 8542 8543 8548 5. | 6. | 7. p31 8544 8. | 9. | 10. p41 8545 8546 8547 11. | 12. | 13. p51 8549 14. | 15. | 16. p61 8550 8551 8552 yo enseño el código que tengo echo...que solo creo un padre y tres hijos...y finalizo los procesos... para que vean que estoy trabajando en ello //en este codigo..poniendo ./pro 3, creo tres hijos a su padre.... int main(int argc,char *argv[]){ int pid; //pid = fork(); int i=1; int profundidad,estado; //cout<<pid<<endl; //printf("el argumento es "<<argv[1]<<endl; profundidad=atoi(argv[1]); //profundidad=argv[1]+ 0; //printf("la profundidad es %d ",profundidad); if(profundidad > 1){ for(i=1;i<=profundidad;i++){ //cout<<"i "<<i<<endl; pid = fork(); if(pid==0){//el padre ha creado un hijo printf("soy el hijo %d mi pid es %d y el de mi padre es %d ",i,getpid(),getppid()); //cout<<endl; //printf("soy el hijo %d .Mi pid es %d y mi ppid es %d ",i,getpid(),getppid()); sleep(20); exit(0); } } for(i=1;i<=profundidad;i++){ wait(&estado); printf("soy el padre con pid %d y mi hijo %d ha terminadon",getpid(),i); } } else{//aqui la profundidad es 1,solo creará el padre,se llamará a partir del 2 } return(0); }
Espero ayuda..Gracias.
78
« en: Martes 17 de Febrero de 2009, 10:11 »
Hola,gracias por su contestacion,pero es que no se porque los primeros hijos ,uno de ellos crea un hijo,,, y de ese hijo salen 3 hijos....el problema es que no se que diferencia hay ,metiendole el argumento 4(como es el caso que he presentado) y por ejemplo metiendo el argumento 6..(por ejemplo),.entendió el problema?,si hay algo que no entienda,comèntemelo...
Gracias.
79
« 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.
80
« 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.
81
« 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.
82
« en: Lunes 2 de Febrero de 2009, 11:52 »
Gracias por la contestacion,pero si yo pongo with Ada.Text_Io; use Ada.Text_IO; PROCEDURE Hola_Mundo IS BEGIN Put_Line("Hola mundo"); subprograma2; END Hola_Mundo;
ahi me dice que subprograma 2 no está definido,y con razon,ya que lo tengo echo en otro .adb,donde tengo que definirlo?
83
« 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.
84
« 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.
85
« 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?
86
« 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.
87
« 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?
88
« en: Martes 2 de Diciembre de 2008, 18:58 »
eso no es válido,porque cuando lees con fic,luego no puedes leer la linea,,,si la puedes leer la linea ,pero no lo hace de la forma deseada,es decir,,,si haces
fic<<pal;
gelinte(fic,linea);
while(!fic.eof()){
getline(fic,linea); }
no hace lo deseado...
Muchas gracias de todas formas
89
« 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.
90
« 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.
91
« en: Miércoles 26 de Noviembre de 2008, 00:21 »
como uso sprintf? me podrias poner un ejemplo??? Muchas gracias.
92
« en: Martes 25 de Noviembre de 2008, 21:35 »
el compilador es gcc 4.1.2 ,en c++
93
« en: Martes 25 de Noviembre de 2008, 20:48 »
el codigo en el que me pone que itoa no esta definido es el siguiente:me oone el siguiente error ‘itoa’ no se declaró en este ámbito #include<iostream> #include <stdlib.h> #include <stdio.h> #include <string.h> using namespace std; int main(){ int numero=569; string snumero; //char cnumero[4]; cout<<"introduce un numero "<<endl; cin>>numero; itoa(numero,snumero,10); //snumero=string(numero); cout<<"el numero introducido es el string "<<snumero; }
me puedes ayudar???
94
« 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.
95
« en: Domingo 9 de Noviembre de 2008, 21:21 »
Pero eso no es solucion,si esta como const se tiene que quedar como const,lo he arreglado poniendo esto de la siguiente manera: medicos[pos]->addPaciente((Paciente *)&p);
Pero no se el por què,,,me puedes ayudar,????
96
« en: Domingo 9 de Noviembre de 2008, 18:07 »
Gracias por la contestacion,pero sigue dando fallo aunque ponga medicos[pos]->addPaciente(&p); sigo investigando,un saludo,espero respuesta.Gracias.
97
« 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?
98
« en: Domingo 9 de Noviembre de 2008, 03:16 »
# # # #include"stdio.h" # int buscar_elemento(int arr[],int num,int elem);//prototipo de la funcion # int array[],resultado,i,encontrado=0; # int num,elemento; # char opcion; # int main() # { # # printf("cuantos elementos contendra el array :"); # scanf("%d",&num); # for(i=0;i<num;i++) # { # printf("introduzca el elemento %d : ",i); # scanf("t%d",&array[i]); # # } # # # do //realizamos el do-while para que cuando no ponga s/S salga del programa # { # encontrado=0;//para poner a 0,porque si no como encontrado=1,siempre te dira que lo ha encontrado # printf("digite el elemento a buscar :"); # # scanf("%d",&elemento); # encontrado= buscar_elemento(array,num,elemento);//FIJATE QUE AQUI YA CAMBIO # if (encontrado!=0) //si nos da algo distinto a 0 es que ha ido bien # { # printf("El numero %d si existe en el arraynn",elemento); # printf("encontrado = %d",encontrado); # printf("n"); # } # else //si nos da 0 es que no ha encontrado el numero # { # printf(" el elemento %d noooo se encuentra en el arraynn",elemento); # printf("encontrado = %d",encontrado); # printf("n"); # } # # printf("Desea buscar otro numero? S/N: "); # scanf("%s", &opcion); # # # }while(opcion=='s' || opcion=='S'); # # } # # int buscar_elemento(int arr[],int num,int elem) # { //PERO SOBRE TODO FIJATE AQUI,ESPERO QUE ESTE SEA EL FALLO # encontrado=0; //lo pones asi,para que si no lo encuentra ,salgo con valor,si no lo pones saldrá con el último valor # # for(i=0;i<num;i++) # { # if (arr[i]==elem) # { # encontrado=1; # # break;//no es aconsejable poner break,pondria i=num,COMO NUM SE LO ASIGNAS A i fuerzas a salir del for,es más estetico, # } # # } # return(encontrado); # # }
99
« en: Domingo 9 de Noviembre de 2008, 03:08 »
Fijate en tu funcion buscar,la primera vez que entras bien,pero cuando encuentras un numero,pones encontrado=1,quiere decir que lo has encontrado,pero cuando vuelves a entrar a esa funcion,encontrado sigue estando a 1,por lo que quiere decir que siempre te dirá lo mismo, es decir ,lo puedes solucionar poniendo el encontrado a 0,es decir encontrado=0,al inicio de la funcion buscar,eso te resolveria el problema.
100
« en: Sábado 8 de Noviembre de 2008, 18:23 »
Hola,me parece que tengo una dudilla sobre el mismo tema,si tengo el siguiente codigo; #include<string> #include<iostream> using namespace std; int main(){ string nombre1,nombre2; cout<<"introduce nombre1 "; getline(cin,nombre1); cout<<"introduce nombre2 "; getline(cin,nombre2); cout<<nombre1.length()<<endl; char nombre1car[nombre1.length()]; char nombre2car[nombre2.length()]; strcpy(nombre1car,nombre1.c_str()); cout<<nombre1car<<endl; strcpy(nombre2car,nombre2.c_str()); cout<<strlen(nombre1car)<<endl; int l=strcmp(nombre1car,nombre2car); if(l<0) cout<<"nombre1 es menor que nombre2"<<endl; else cout<<"nombre1 es mayor que nombre2"<<endl; }
sobre todo quiero saber que si la asignacion a la cadena de caracteres del tamaño lo estoy haciendo bien: char nombre1car[nombre1.length()]; char nombre2car[nombre2.length()]; porque no me acuerdo si tengo que tener en cuenta el ,lo pregunto para no tener errores de segmentacion. me podeis ayudar????
Páginas: 1 2 3 [4] 5 6 ... 9
|
|
|