.
Macierz sąsiedztwa - std::bad_alloc
- Rejestracja: dni
- Ostatnio: dni
0
Policz ile pamięci chcesz zarezerwować przy 10 tyś wierzchołków.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Space: the final frontier
- Postów: 26433
0
Nie, potrzebujesz tylko 10000100004 = 400MB więc nie wydaje mi się żeby to było aż tak dużo.
- Rejestracja: dni
- Ostatnio: dni
0
Przydziel to: bool Odwiedzone[l_wierzcholkow]; dynamicznie a problem powinien zniknąć.
Kod skopany na maksa.
- Rejestracja: dni
- Ostatnio: dni
0
- Nie używaj wersji przyrostkowej inkrementacji/dekrementacji jeżeli nie masz takiej potrzeby.
- Po kiego przydzielasz pamięć "ręcznie" skoro istnieje
vector<vector<bool> > tab(l_wierzcholkow,vector<bool>(l_wierzcholkow,false));używasz:tab[y][x]=true;lubif(tab[y][x]). - Zrób może jakąś klasę z tego np
Graph. - Nie używaj zmiennych globalnych, przekaż jako parametr przez referencje.
- Warunek przy losowaniu to jakiś WTF, napisz po ludzku:
if((!tab[y][x]))&&(y!=x)) { tab[y][x]=tab[x][y]=true; ++i; }