Wpis z mikrobloga

@wieczniezielony:

if(linia[i+1] == ' ') {
for(int j=0; j < i+1; j++) {
bufor[j] = linia[j];
}
ilosc_wierzchlkow = atoi(bufor.c_str());
vector lista_sasiedztwa[ilosc_wierzchlkow];
}

lista_sasiedztwa jest lokalna dla tego ifa, inne odwołania są poza zakresem a lista przepada po wyjściu z bloku dla ifa
@wieczniezielony: Pozatym skoro masz

vector lista_sasiedztwa[ilosc_wierzchlkow];
oraz

return lista_sasiedztwa;
to napewno taka definicja nie wystarczy

vector wczytaj_z_pliku()
najlepiej daj typ

vector > lista_sasiedztwa;
oraz po wczytaniu ilości wieszchołków

lista_sasiedztwa.resize(ilosc_wierzchlkow);
@simia: @Wina_Segmentacji: a to tego nie wiedzialem... Nigdy bym na to nie wpadl.

@lionbest:
a w zasadzie to jaka jest roznica miedzy

vector nazwa
a
vector > nazwa?
No inny typ, ale o ile sie nie myle w tym przypadku i to i to zadziala.

nie bardzo rozumiem tez po co ten resize... (Juz wiem po co)

Mam tez pytanie. Gdy zadeklaruje vector nazwa(rozmiar, 0) to wypelni mi wszytskie
@wieczniezielony:
a co według ciebie robi ta linijka:

vector lista_sasiedztwa[ilosc_wierzchlkow];
co ona tak naprawdę deklaruje?


Odnośnie pytania to tak dokładnie to tak zadziała.
Co do tego nierozumienia to tam (w bloku kodu) gdzie odczytujesz rozmiar nie możesz deklarować zmiennej na całą funkcję, a musisz jakoś ustalić rozmiar wektora.
No jak to nie? Dostaje kontener długości ilość wierzchołków i do każdego elementu mogę przypiąć kolejne kolumny przykład
Ilość-wierzchołków.size()
|
\/
|1|9|0|1|4|<podpialemwiersz5
|2|
|3|5|8|<-podpialem wiersz3
@lionbest: No rzeczywiście zapomniałem. Miałem problem z netem i musiałem pisać z telefonu, żeby nie było, ze doczytał i się madruje, ze wiedział ( ͡° ͜ʖ ͡°) może nie opisałem tego zbyt dobrze ale o to mi chodziło. Wiem muszę pracować nad tymi nazwami... podstawowe znam, ale niestety przy bardziej wymyślnych rzeczach muszę podawać przykłady...