#include "tspfilereader.h" TSPFileReader::TSPFileReader(const char *filename) { this->filename = string(filename); } TSPFileReader::TSPFileReader(string &filename) { this->filename = filename; } double TSPFileReader::distance(double x1, double y1, double x2, double y2) { double xd = x1 - x2; double yd = y1 - y2; return sqrt(xd*xd + yd*yd); } vector > &TSPFileReader::read(void) { vector > coords; ifstream fin(filename.c_str()); istringstream ins; string buffer; double x, y; int i; bool data_started = false; while (getline(fin, buffer)) { if (buffer == "EOF") break; if (data_started) { ins.str(buffer); ins >> i >> x >> y; ins.clear(); //cout << i << " " << x << " : " << y << endl; vector row; row.push_back(x); row.push_back(y); coords.push_back(row); buffer = ""; } if (!data_started && buffer == "NODE_COORD_SECTION") data_started = true; } fin.close(); /* cout << endl << endl; for (int i=0; i row; for (int j=0; j