Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Ciudatenii si vrajitorii( c++ )  (Citit de 2089 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
andunhill
Vorbaret
****

Karma: 12
Deconectat Deconectat

Mesaje: 183



Vezi Profilul
« : Noiembrie 30, 2010, 23:57:35 »

Nu stiam exact unde sa postez de aceea rog sa fie mutat subiectul daca e gresit.
Vroiam sa va cer opinia in legatura cu urmatoarea problema.
La problema http://infoarena.ro/problema/sprim sursa asta http://ideone.com/vcd5u
ia 100 puncte pe cand http://ideone.com/mrxG0 0 cu sigsegv 11 desi difera prin
Cod:
bool c[1000001];
vector pe care nu il folosesc deloc. Cel mai ciudat e ca si pe ideone si pe ia primeste signal 11. Nu imi dau seama care e cauza.
Memorat
hadesgames
Strain


Karma: 14
Deconectat Deconectat

Mesaje: 14



Vezi Profilul
« Răspunde #1 : Decembrie 01, 2010, 08:51:52 »

Pai in primul rand tu accesezi elemente din afara vectorului:
Cod:
for(i=2;i*i<=1100000;i++)
                if(!v[i])
Acuma din cauza ca tu mai ai o zona de memorie nealocata imediat dupa v programul tau nu  va accesa o zona de memoria alocata ci elemente din vectorul c . Faza e ca acest comportament nu e specificat in standarul C deci depinzand de compilator programul poate sa ruleze sau sa ia kbs 11( cum ar fi normal ) .
Memorat
andunhill
Vorbaret
****

Karma: 12
Deconectat Deconectat

Mesaje: 183



Vezi Profilul
« Răspunde #2 : Decembrie 01, 2010, 10:45:39 »

Stiam ca acesez elementele din afara vectorului dar nu trebuia sa iau 100 pt nici cu declaratia vectorului c.Nu stii un link unde este descrisa aceasta chestie mai bine?
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines