int main() { Linie l; Kreis k, k1, k2; zeichne(l); // zeichne(GeoObj&) => Linie::draw() zeichne(k); // zeichne(GeoObj&) => Kreis::draw() abstand(k1,k2); // abstand(GeoObj&,GeoObj&) abstand(l,k); // abstand(GeoObj&,GeoObj&) std::vector<GeoObj*> menge; // inhomogene Menge menge.push_back(&l); // Linie einfügen menge.push_back(&k); // Kreis einfügen ausgeben(menge); // Menge ausgeben }
int main(int argc, char* argv[]) { //./r-spantree -in path/to/file/ -out (path //Eingabe-Validierung if( argc != 5 && argc != 3) { printf("Unzulässige Anzahl an Argumenten: %d \n", argc); showUsage(); return 2; } printf("Moin, dies ist der Aufruf von r-spantree.\n"); //Parameter filtern eval_parameter = false; for(int i = 1; i < argc - 1; i++ ) { //Argument erfassen string s = argv[i]; //Ist der -in Parameter erfasst, lese die Datei aus folgenden Path ein. if(s.compare( "-in" ) == 0) { input_path = argv[i+1]; } if(s.compare( "-out" ) == 0) { output_path = argv[i+1]; } //Ist der -eval Parameter erfasst, setze die entsprechende flag if(s.compare( "-eval" ) == 0) { eval_parameter = true; input_path = argv[i+1]; } } //Hier soll später das Ergebnis gespeichert werden. long best_cost = -1; //Parameter Bearbeitung/Validierung einlesen(input_path); if(eval_parameter == true) { //Führe Validierung bool erfolg = validate(); if(erfolg) { //Validierung erfolgreich printf("valide Lösung\n"); return 0; } else { //Lösung ist nicht valide. printf("ERROR:\n"); std::cout << fehlertext.str(); return 1; } } else { //--------------------------------------------------- //HIER werden die Optimierungsansätze eingefügt bzw. //Optimierungsmethoden Aufruf findet HIER statt. //Führe Optimierung durch start_zeit = clock(); best_cost = optimize(&knotenliste, &kantenliste, anzahl_knoten, anzahl_kanten); end_zeit = clock(); //Wenn die Optimierung erfolgreich war, if(best_cost != -1) { //Schreibe das Ergebnis in die Ausgabedatei raus ausgeben(output_path); } //------------------------------------------------- } //'best_cost' immer mit den errechneten Kosten der Lösung belegen. //ODER -1 bei Fehlschlag printf("%ld %ld\n", best_cost, ((end_zeit - start_zeit) * 1000) / CLOCKS_PER_SEC ); return 0; }