int main(void) { Conjunto A, B, C; A = vaciar(); A = meter(A, 1); A = meter(A, 2); A = meter(A, 4); A = meter(A, 5); mostrar(A); B = vaciar(); B = meter(B, 3); B = meter(B, 5); B = meter(B, 6); mostrar(B); C = vaciar(); C = Diferencia(A, B); mostrar(C); return 0; }
void Arbin<Elem>::vaciar(Nodo * arbol) { if (arbol != NULL) { vaciar(arbol->subIzquierdo); vaciar(arbol->subDerecho); delete arbol; } }
void pref(char prefi[78],char exp[78]) { struct stack st1; struct stack st2; struct stack st3; int cn=0; int i, apil=0; st1.top=0; st2.top=0; st3.top=0; lim(&st1); exp[0]='\0'; for(i=strlen(prefi)-1;i>=0;i--) { if( oper(prefi[i])) ins(&st2,prefi[i]); else { ins(&st1,prefi[i]); cn++; } if (cn==2) { vaciar(&st1,&st3); ins(&st3,elim(&st2,st2.pila[st2.top])); cn=0; } } //mostrarmul(&st1,&st2,&st3); copytexp(&st2,exp); copytexp(&st1,exp); copytexp(&st3,exp); }
/** Recupera de un fichero CSV los ejemplares de un catálogo @throw std::logic_error si encuentra algún ejemplar que no es válido @throw std::runtime_error si no se puede acceder al fichero */ void Catalogo::recuperaDeFichero(std::string nombreFichero) throw (std::runtime_error,std::logic_error){ std::ifstream f; std::string tipo,linea; if (_numEjemplares>0) { //Si el catálogo ya tiene ejemplares, borrarlos previamente vaciar(); } f.open( nombreFichero.c_str() ); if ( f.good() ) { while( !f.eof() ) { std::getline( f, tipo, ';' ); if (tipo=="") { continue; //ignoramos líneas vacías }else if (tipo=="libro") { ejemplares[_numEjemplares]=new Libro(); }else if (tipo=="revista") { ejemplares[_numEjemplares]=new Revista(); }else { throw std::logic_error("[Catalogo::recuperaDeFichero] El fichero contiene ejemplares de tipo desconocido"); }; std::getline(f,linea); ejemplares[_numEjemplares]->fromCSV(linea); _numEjemplares++; } f.close(); } else { throw std::runtime_error("[Catalogo::recuperaDeFichero] No puede abrirse el fichero "+nombreFichero); } }
void loop(){ vaciar(); api.getMyZRState(posicionInicial); CalcularPuntoFinal(); CalcularVector(); Movimiento(); hacerfoto(); counter++; }
int main(int argc, char** argv){ Pila p1, p2; int i; p1=crear();//creamos las pilas p2=crear(); if(esta_vacia(p1) == true)//comprobamos que estabn vacias printf("La pila p1 esta vacia\n"); if(esta_vacia(p2) == true) printf("La pila p2 esta vacia\n"); for(i=0;i<20;i++){ //metemos numeros en la pila if(i%2==0) apilar(p1,i); else apilar(p2,i); } printf("Los elementos de la pila p1 son: \n\t"); while(!esta_vacia(p1)) //mientras no este vacia printf("%d ", desapilar(p1));//vamos sacando los numeros y mostandolos puts(""); vaciar(p1);//la vaciamos printf("Los elementos de la pila p2 son: \n \t"); while(!esta_vacia(p2)) printf("%d ",desapilar(p2)); destruir(p1);//eliminamos la pila destruir(p2); getche(); return (EXIT_SUCCESS); }
Calesita::~Calesita() { vaciar(); delete[] ubicaciones; }
int main (int argc,char **argv) { if (argc == 2) { signal(SIGCHLD,reaper); mount(argv[1]); struct inodo in; if (leer_inodo(&in, 0) < 0) { printf("ERROR (simulacion.c -> mi_stat(/)): Error al leer el estado\n"); } struct superbloque SB; if (bread(0, (char *)&SB) < 0) { printf("ERROR (simulacion.c -> error al leer el superbloque)\n"); } if (in.t_bytes > 0) { vaciar(); initSB(SB.n_bloques, argv[1]); initMB(SB.n_bloques); initAI(SB.n_bloques); } int i; for (i = 0; i < N_PROCESOS; i++) { int hilo = fork(); if (hilo == 0) { if (proceso(i) < 0) { printf("ERROR (simulacion.c): Error al crear el proceso %d.\n", i); return (-1); } exit(0); } else if (hilo < 0) { i--; printf("Llamamos al reaper, hilo = %d\n", hilo); reaper(); } sleep(1); } while (acabados < N_PROCESOS) { pause(); } unmount(argv[1]); } else { printf("ERROR (simulacion.c): Error, parámetros != de 2 (%d).\n", argc); return (-1); } return (0); }
Arbin<Elem>::~Arbin() { vaciar(raiz); }
/**Destructor*/ Catalogo::~Catalogo() { std::cout << "Destruyendo catálogo" << std::endl; vaciar(); //Eliminamos ejemplares que queden delete[] ejemplares; //Liberamos el vector de punteros }