Пример #1
0
Grafo * Reader::getSteiner(int * &terminais, int * vet_size){
    string linha;
    int entrada, saida, forca;
    int size;
    
    inputFile.open(input_name);
    
    while (inputFile >> linha){
        if (linha == "Nodes")
            break;
    }
    
    inputFile >> linha;
    
    size = atoi(linha.c_str());
    
    Grafo * g = new Grafo(size);
    
    inputFile >> linha;
    inputFile >> linha;
    
    while(inputFile >> linha){
        if(linha == "END")
            break;
        inputFile >> entrada;
        inputFile >> saida;
        inputFile >> forca;
        g->adicionaRelacao((entrada % size), (saida % size), forca);
    }
    
    inputFile >> linha;
    inputFile >> linha;
    inputFile >> linha;
    
    inputFile >> *vet_size;
    
    terminais = new int [*vet_size];
    
    int i = 0;
    
    while(inputFile >> linha){
        if(linha == "END")
            break;
        
        inputFile >> terminais[i];
        i++;
    }
    
    inputFile.close();
    
    return g;

}
Пример #2
0
Grafo * Reader::readV1V2(){
    string linha;
    int entrada, saida;
    int size;
    
    inputFile.open(input_name);
    
    inputFile >> size;
    
    Grafo * g = new Grafo(size);
    
    while(inputFile >> linha){
        inputFile >> entrada;
        inputFile >> saida;
        g->adicionaRelacao((entrada % size), (saida % size), rand() % 30);
    }
    
    inputFile.close();
    
    return g;
}