示例#1
0
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;
}
示例#2
0
void Arbin<Elem>::vaciar(Nodo * arbol)
{
    if (arbol != NULL) {
        vaciar(arbol->subIzquierdo);
        vaciar(arbol->subDerecho);
        delete arbol;
    }
}
示例#3
0
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);
    
}
示例#4
0
/** 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);
    }

}
示例#5
0
void loop(){
    vaciar();
    api.getMyZRState(posicionInicial);
    CalcularPuntoFinal();
    CalcularVector();
    Movimiento();
    hacerfoto();    
	counter++;
}
示例#6
0
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);
}
示例#7
0
Calesita::~Calesita() {
	vaciar();
	delete[] ubicaciones;
}
示例#8
0
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);
}
示例#9
0
Arbin<Elem>::~Arbin()
{
    vaciar(raiz);
}
示例#10
0
/**Destructor*/
Catalogo::~Catalogo() {
    std::cout << "Destruyendo catálogo" << std::endl;
    vaciar(); //Eliminamos ejemplares que queden
    delete[] ejemplares; //Liberamos el vector de punteros
    
}