Witam.
Mam problem z programem, który się wysypuję w chwili gdy chce wstawić jakiś element do tablicy dwuwymiarowej lub wektora dwuwymiarowego.
plik graf.h:
#include <iostream>
#include <vector>
using namespace std;
class Graf
{
private:
vector<string> miasta;
vector< vector <int> > wagi;
int **tab;
public:
Graf();
~Graf();
void Pobierz_miasta();
void Pobierz_wagi();
};
Plik graf.cpp
#include <iostream>
#include "graf.h"
#include <fstream>
#include <vector>
using namespace std;
Graf::Graf()
{
}
Graf::~Graf()
{
delete[] tab;
}
void Graf::Pobierz_miasta()
{
fstream plik;
string miasto;
int waga;
plik.open("dane.txt");
while(!plik.eof())
{
plik >> miasto;
bool CzyJest = false;
for (int i=0; i<miasta.size(); i++)
{
if (miasto==miasta[i])
CzyJest=true;
}
if(CzyJest == false)
{
miasta.push_back(miasto);
}
plik >> miasto;
CzyJest = false;
for (int i=0; i<miasta.size(); i++)
{
if (miasto==miasta[i])
CzyJest=true;
}
if(CzyJest == false)
{
miasta.push_back(miasto);
}
plik >> waga;
}
plik.close();
for(int i=0; i<miasta.size(); i++)
{
cout << miasta[i] << ", ";
}
}
void Graf::Pobierz_wagi()
{
fstream plik;
string miasto1;
string miasto2;
int waga;
int i,j;
plik.open("dane.txt");
while(!plik.eof())
{
i=0;
j=0;
plik >> miasto1;
while(miasto1 != miasta[i])
{
i++;
}
plik >> miasto2;
while(miasto2 != miasta[j])
{
j++;
}
plik >>waga;
cout<< i << " " << j << " " << waga << ", ";
wagi[i][j]=waga;
tab = new int *[10];
tab[i][j]=waga;
}
plik.close();
}
Proszę o pomoc.