Beispiel #1
0
int main (int argc, char *argv[]){
    std::ifstream inputFileA;
    std::ifstream inputFileC;
    std::string b;
	std::cout<<argv[1];
    
    if(argc<2){
        std::cout<<"Argumentos insuficientes!"<<std::endl;
        std::cout<<"É preciso a inserção de mais argumentos!"<<std::endl;
        std::cout<<"A forma geral de chamada do programa é:"<<std::endl;
        std::cout<<"./bin/main arquivo_entrada arquivo_de_comandos"<<std::endl;
        return 1;
    }

	inputFileA.open(argv[1],std::ifstream::in);
	inputFileC.open(argv[2],std::ifstream::in);
	
	if(!inputFileA.is_open()||!inputFileC.is_open()) {
		if(!inputFileA.is_open())
			std::cout<<"Erro ao abrir o arquivo "<<argv[1]<<std::endl;
		if(!inputFileC.is_open())
			std::cout<<"Erro ao abrir o arquivo "<<argv[2]<<std::endl;
		return 1;
	}
	
	ABB abb;
	
	std::string input;

	std::getline(inputFileA,input);
	std::stringstream stream(input);
	int a;
	while(1){
		stream>>a;
		abb.insert(a);
		if(!stream)
			break;
	}

    
    while(!inputFileC.fail()){
		std::getline(inputFileC,input);
		
		std::stringstream ss;
		if(input.find("ENESIMO")!=std::string::npos){
			int a;
			ss<<input;
			ss>>a;
			std::cout<<abb.nElement(a);
		}
		else if(input.find("POSICAO")!=std::string::npos){
Beispiel #2
0
int main(int argc, char *argv[])
{
    srand ( time(NULL) );//se inicializa la semilla de funcion rand()
    
    /*
   ABB* t = new AVLABB();
=======


    Treap t= Treap();
    
    //cout<<"a insertado"<<endl;
    
    //t.insert("b",2);
    
    //t.insert("d",4);
    //t.insert("c",3);
    //t.insert("a",5);
    t.insert("d",4);
    t.insert("a",1);
    t.insert("c",3);
    t.insert("b",2);
    
    
    cout<<t.find("a")<<endl;
    cout<<t.find("b")<<endl;
    cout<<t.find("c")<<endl;
    cout<<t.find("d")<<endl;/*
    t.remove("b");
    t.remove("d");
    cout<<" remove b,d"<<endl;
    cout<<t.find("a")<<endl;
    //cout<<t.find("b")<<endl;
    cout<<t.find("c")<<endl;
    //cout<<t.find("d")<<endl;
    */
    
    
    
    int op;
    cout << "(1) Parte A" << endl;
    cout << "(2) Parte B" << endl;
    cout << "(0) Salir" << endl;
    cin >> op;
    
    if(op == 1)
     {
            system("cls");
           //programa A
           cout << "Ingrese archivo de entrada" << endl;
           string dir;  
           cin >>  dir;
           
           cout << "Ingrese ruta del archivo: " << endl;
           string salida;
           cin >> salida;
        
           // Datos necesarios
           const char* c = dir.c_str();
        
           ifstream file( c );
           
           const char* d = salida.c_str();
           
           ofstream fileout( d );
           string str;
           
           ABB* rb = new RedBlackTree();
           ABB* avl = new AVLABB();
          
           
           //Empieza a leer
        while( getline( file, str ) )
        {
            
            string s;
            istringstream iss(str,istringstream::in);
            getline( iss, s, ' ' );
            string accion = s;    
            getline( iss, s, ' ' );
            string clave = s;
            getline( iss, s, ' ' );
            int prior = str2int(s);
            
            if(accion == "insert")
            {
                      rb->insert(clave,0);
                      avl->insert(clave,0);
                      //aqui cambialo seba, le pones la prioridad
                      
            }
            
            if(accion == "delete")
            {
                      rb->remove(clave);
                      avl->remove(clave);
                      
            }
        
        } //fin de while        
        
        //imprimir los arboles
        
        delete rb;
        delete avl;
        
      system("PAUSE");
      }//fin de opcion 1