class algMrowka {
public:
int obecneMiasto, nastepneMiasto, sciezkaIndex, najDrogaIndex;
vector<double> tab, sciezka;
double dlugoscDrogi, najDroga;
vector<vector<double> > odleglosc; //[MAX_MIASTA][MAX_MIASTA];
vector<vector<double> > feromon; // [MAX_MIASTA][MAX_MIASTA];
public:
void inicjalizacja() {
int skad, dokad;
ifstream plik;
plik.open(NAZWAPLIKU);
odleglosc = vector<vector<double> >(MAX_MIASTA, vector<double>(MAX_MIASTA));
feromon = vector<vector<double> >(MAX_MIASTA, vector<double>(MAX_MIASTA, INIT_FEROMON));
//tworzenie miasta
for(skad=0; skad<MAX_MIASTA; skad++) {
plik >> miasta[skad].x;
plik >> miasta[skad].y;
}
...
Ogólnie nie jest źle, największy problem to to, że za dużo próbujesz umieścić w jednej metodzie i nadmiernie stosujesz zmienne globalne.