Problem z tablicą
Ostatnio zmodyfikowano 2019-02-07 00:17
nanoant20 |
» 2019-02-05 21:42:27 przyczyn takiego komunikatu może być wiele 'program received segmentation fault' może to wskazywać na - próbę dostępu do pamięci, gdzie program nie ma uprawnień - do nieistniejącego adresu pamięci - próba zapisu pamięci tylko do odczytu
EDIT Może spróbuj umieścić program na innym dysku (partycji), nadaj mu uprawnienia dostępu, przebuduj projekt i skompiluj |
|
Pawełek Temat założony przez niniejszego użytkownika |
» 2019-02-05 21:46:24 Komunikat wyskakuje mi gdy 2 lub 3 razy ponowie działanie debuggera, Więc według mnie komunikat jest tylko skutkiem tego o czym pisał pefkos, czyli rezerwowaniem dużej ilości pamięci dla tablicy gdzie potrzeba jej jedynie 13 mb. Ma ktoś jakiś pomysł z czego to może wynikać? Byłbym mega wdzięczny jakby ktoś pomógł mi rozwiązać ten problem, bo od dynamicznego alokowania dużych tablic nie ucieknę. Powtarzam sobie zadania do matury a tego typu zadań jest masa gdzie muszę wczytać jakiś plik gdzie jest 1000 liczb i czasami dla każdej liczby z osobna wykonać jakieś działanie. |
|
nanoant20 |
» 2019-02-05 22:13:07 zobacz może jeszcze to https://medium.com/@yzhong.cs/code-blocks-compile-64-bit-under-windows-with-mingw-w64-79101f5bbc02
|
|
pekfos |
» 2019-02-05 22:15:40 Komunikat wyskakuje mi gdy 2 lub 3 razy ponowie działanie debuggera, Więc według mnie komunikat jest tylko skutkiem tego o czym pisał pefkos, czyli rezerwowaniem dużej ilości pamięci dla tablicy gdzie potrzeba jej jedynie 13 mb. |
To akurat jest bez związku. Po prostu reszta kodu jest błędna. |
|
Pawełek Temat założony przez niniejszego użytkownika |
» 2019-02-06 00:01:01 Zrobiłem skan komputera i mam 194 uszkodzone elementy rejestru. |
|
pekfos |
» 2019-02-06 00:08:44 A nieopróżniony kosz? Albo oczekującą aktualizację Javy? Z pewnością znalazłoby się coś jeszcze, co można łatwo naprawić, żeby się okazało że nie miało to żadnego związku. Program się wysypuje, bo kod jest błędny. Jeżeli nie byłby błędny, to dlaczego w ogóle miałby się zakończyć? W końcu wykonuje się w pętli nieskończonej.. for( int i = 1; 1 <= 1000; i++ )
|
Postaw sobie taką linię: i++;
assert( i <= liczba );
if( tab[ i ] == 0 )
I uruchom w trybie debug (co nie znaczy "pod debuggerem"). |
|
Pawełek Temat założony przez niniejszego użytkownika |
» 2019-02-06 00:20:50 Poprawiłem już tę gafę z pętlą ale akurat ona nie miała tu na nic wpływu, bo problem dalej istnieje. EDIT: Nie rozumiem tego kodu: i++;
assert( i <= liczba );
if( tab[ i ] == 0 ) Po co te i++ jak już jest w pętli? |
|
pekfos |
» 2019-02-06 00:35:29 Po co te i++ jak już jest w pętli? |
Pierwsza i ostatnia linia jest dla kontekstu. Żebyś wiedział, gdzie masz tę jedną linię dodać. |
|
1 2 « 3 » 4 5 |