Ostatnie posty

potwierdzam.
Potwierdzam.
Tomasz Homoncik: Potwierdzam.
Czy wyniki to 1001 i 21?
10/10 Interpretowałbym
to jest gcc, chodziło mi o to, iż nie na wszystkie wersje procesorów są tak samo typy zmiennych zdefiniowane (przynajmniej kiedyś tak było, np. jeden zestaw[procesor+system+...] miał long = 2^32, inny 2^64, czy jakoś tak).
Więc różnice mogą występować, niektóre kompilatory (na niektóre wersje procesorów/systemów) mogą mieć szerszy zakres... Program testowałem na 2 systemach, ale na 2 maszynach, więc taka różnica nie jest wykluczona ;)
Jakiego Ty kompilatora używasz i dlaczego to nie jest gcc / clang? O.o
Kurcze... Nadal dla ekstremalnie dużego zestawu danych jest ten błąd... Ale sądzę, że tutaj jest już jakiś inny problem (kompatybilność, itp.). Posprawdzam jakie długości mogą mieć zmienne liczbowe w tym kompilatorze... Może o to chodzi
Dobra, wszystko działa, w szczególnym przypadku odwoływałem się do obiektu w tablicy, który nie został wprowadzony... Dzięki :D
Włączyć debuger i sprawdzić, co Ci wypisze. Strzelam, że odwołujesz się gdzieś do pamięci za tablicą, stąd segfault.
Słowa kluczowe:
- dbg
- Valgrind

Kompiluj z flagą -g i bez (!) -static, szczególnie przy Valgrindzie. Przy okazji Valgrind jest niezłym profilerem, jeśli masz czas na zabawę w to.
Dobra, błąd nie wiem jak, ale zniknął po kilku zmianach :D
Teraz mam tylko błąd 139, który nie wiem, do którego pointera się odnosi...(jeśli w ogóle o to chodzi) wszystko nadal działa na windowsie...

Program nie wyrzuca na wyjście nic, pisze tylko "Segmentation fault (core dumped)", z czym się nigdy nie spotkałem (zwykle korzystam z windowsa), więc nie wiem, co mam zrobić...
Ubuntu 14.04, 64bit
Windows jest znacznie bardziej tolerancyjny od Linuxa na błędy programów. To wbrew pozorom świadczy na korzyść Linuxa. Więc możesz mieć jakiś błąd w swoim kodzie, który na Windowsie się niekoniecznie zawsze ujawnia.

Swoją drogą, testowałeś to na wirtualnej maszynie? Na jakiej dystrybucji?
0a) define nie kończymy średnikami.
0b) Jeśli to Cpp to rzutowanie w stylu C razi w oczy.
0c) Jeśli piszesz w C++ nie używaj define. Zamiast define użyj const, albo (mamy c++ 11!) constexpr.
np. `constexpr long long n = 1231231;`
Możesz też podkreślić, że wpisana liczba to long long pisząc `123LL` zamiast `123`. Ale to *w tym* przypadku nie ma większego znaczenia.
1) Upewnij się, że kompilujesz w poprawnym standardzie. ISO C++ 1998 nie wspiera typu long long.

PS
Podawaj lepszą specyfikacje problemu. Kompilator, flagi, system, JĘZYK (w którym piszesz) itd.
Działa na sprawdzaczce windows :)
Także błąd jest w tej linuxowej