int main(int argc, char **argv)
{
ifstream inFile;
inFile.open("C:\\Users\\Sean\\Desktop\\test.txt", ios::in);
string line;
getline(inFile, line);
std::istringstream lstream(line);
int n,m;
stringstream ss(line);
ss >> n >> m;
cout << "n=" << n << " m= " << m << endl;
vector<int> adj[n];
//cout << "got here" << endl;
int j = 0;
int i = 0;
int largest = 0;
int total = 0;
while (getline(inFile, line))
{
std::istringstream lstream(line);
//cout << line << endl;
int val;
while (lstream>> val)
{
addEdge(adj, i, val);
j++;
total++;
}
if(j>largest){ largest = j;}
j = 0;
i++;
}
cout << "Largest =" << largest << endl;
cout << "Average =" << (float)total/n << endl;
Итак, эта программа считывает графики из Open Street Map. n и m - первые два целых числа в файле, для числа вершин и числа ребер.
Как и в заголовке, программа отлично работает для небольших файлов "воспроизведения", но закрывается, кажется, при попытке объявить вектор целых чисел в этом случае размером 463514.
Любая помощь приветствуется. Здесь бит потерян.
Это то, что было до addEdge:
void addEdge(vector<int> adj[], int u, int v)
{
adj[u].push_back(v);
};