Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: invalid memory reference  (Citit de 4118 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
peanutz
Nu mai tace
*****

Karma: 10
Deconectat Deconectat

Mesaje: 296



Vezi Profilul
« : Octombrie 06, 2006, 15:24:29 »

incercand sa trimit sa o sursa( curse de cai ), am primit eroarea RUN ERROR - Invalid memory reference.... ce sa zic eu lucrez pe gcc si la mine merge.... am gresit eu cumva?!
Memorat

....staind....
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #1 : Octombrie 06, 2006, 15:35:32 »

http://infoarena.devnet.ro/index.php?page=Regulament#Mesaje_evaluator ...
Memorat

vid...
peanutz
Nu mai tace
*****

Karma: 10
Deconectat Deconectat

Mesaje: 296



Vezi Profilul
« Răspunde #2 : Octombrie 06, 2006, 15:56:36 »

merci de raspuns trebuia sa citesc chestia aia Tongue

oricum, faza e ca n-am reusit sa indrept. chestia cu limita de stiva si heap pica pentru ca am folosit doar 2 vectorii de 1002 de elemente si o functie vai de capul ei, fara nimic repetitiv.... for-urile merg pana la 1000... am folosit si niste define-uri, dar le-am scos acum, dar nu era din cauza lor...


nu-mi dai, te rog mult, niste exemple mai clare in care ar putea sa apara? sunt cam  Fighting(batut in cap)...
Memorat

....staind....
peanutz
Nu mai tace
*****

Karma: 10
Deconectat Deconectat

Mesaje: 296



Vezi Profilul
« Răspunde #3 : Octombrie 06, 2006, 15:57:37 »

apropos, e prb... curse de cai
Memorat

....staind....
u-92
Vizitator
« Răspunde #4 : Octombrie 06, 2006, 16:05:10 »

Citat
sau la un acces invalid in memorie, accesarea unui pointer invalid, indecsi intr-un tablou care depasesc dimensiunile tabloului

analizeaza sursa cu atentie, undeva trebuie sa apara o situatie din asta
Memorat
peanutz
Nu mai tace
*****

Karma: 10
Deconectat Deconectat

Mesaje: 296



Vezi Profilul
« Răspunde #5 : Octombrie 06, 2006, 16:15:08 »

n-as putea sa-mi pun sursa aici?.... nu-mi iasa nicicum....
Memorat

....staind....
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #6 : Octombrie 06, 2006, 16:17:38 »

declara siruriile mai mari...poate merge
Memorat

vid...
peanutz
Nu mai tace
*****

Karma: 10
Deconectat Deconectat

Mesaje: 296



Vezi Profilul
« Răspunde #7 : Octombrie 06, 2006, 16:20:54 »

am schimbat toate elementele din int in long, functia am pus-o long, parametrii bineinteles, am pus si vectorii mai mari... nu-mi iasa
Memorat

....staind....
peanutz
Nu mai tace
*****

Karma: 10
Deconectat Deconectat

Mesaje: 296



Vezi Profilul
« Răspunde #8 : Octombrie 06, 2006, 16:26:58 »

Cod:
#include <stdio.h>
#include <memory.h>


long ionel;

long detcost(  long vi, long vg  )
{
ionel -= vi;

if(  vg > ionel  )
   vg = ionel;

ionel -= vg;

if(  ionel < 0  )
   ionel = 0;

return vg;
}



int main()
{
long increment, n, vi[1002], vg[1002], t, for1, for2, for3, for4, for5;
long cost = 0;



freopen(  "cai.in", "r", stdin  );
freopen(  "cai.out", "w", stdout  );




scanf(  "%ld\n",  &t  );


for(  for1 = 0; for1 < t; ++for1  )
    {

      memset(  vi, 0, sizeof(vi)  );
      memset(  vg, 0, sizeof(vg)  );
      cost = 0;
      ionel = 0;



      scanf(  "%ld\n", &n  );

      for(  for2 = 0; for2 < n; ++for2  )
  {
    scanf(  "%ld ", &increment  );
    ++vg[increment];
  }

      scanf(  "\n"  );


      for(  for3 = 0; for3 < n; ++for3  )
  {
    scanf(  "%ld ", &increment  );
    ++vi[increment];
  }

      scanf(  "\n"  );

      for(  for4 = 0; for4 <= 1000; ++for4  )
  {
    if(  vi[for4]   )
       ionel += vi[for4];
    if(  vg[for4]  )
       {
if(  vg[for4] == ionel  &&  vi[for4] == ionel  &&  ionel != 0  )
    {
      cost += 0;

    }

else if( ionel == 0  ||  ionel < 0  )
    {
      ionel = 0;
      cost -= 200*vg[for4];
    }
else if(  vi[for4] == 0  && ionel  )
    {
      if(  ionel > vg[for4]  )
{
   cost += 200*vg[for4];
   ionel -= vg[for4];
}
      else
{
   cost += 200*ionel;
   ionel = 0;
}
    }

   else
     {
       cost += 200*detcost(  vi[for4], vg[for4]  );
     }
       }
  }
       printf(  "%ld\n", cost  );

     }


fclose(  stdin  );
fclose(  stdout  );

return 0;
}


poate doar operatii pe numere mari.... ce as putea sa zic altceva.....



« Ultima modificare: Octombrie 07, 2006, 14:16:52 de către svalentin » Memorat

....staind....
peanutz
Nu mai tace
*****

Karma: 10
Deconectat Deconectat

Mesaje: 296



Vezi Profilul
« Răspunde #9 : Octombrie 06, 2006, 16:40:20 »

eu mi-am facut ceva teste si imi dau bine... ce-i drept nu prea mari, dar ok oricum....
Memorat

....staind....
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #10 : Octombrie 06, 2006, 17:45:39 »

habar nu am dc nu iti mere, adica de ce iti apare eroarea aia.
Memorat

vid...
andreit1
Vizitator
« Răspunde #11 : Octombrie 06, 2006, 20:13:11 »

for(  for3 = 0; for3 < n; ++for3  )
     {
       scanf(  "%ld ", &increment  );
       ++vi[increment];
     }
Esti sigur ca numerele citite sunt mai mici de 1002?
Memorat
peanutz
Nu mai tace
*****

Karma: 10
Deconectat Deconectat

Mesaje: 296



Vezi Profilul
« Răspunde #12 : Octombrie 06, 2006, 21:50:26 »

Sad.............
stupid me... ai dreptate..... n e mai mic de 1000..... uhhhh
Memorat

....staind....
peanutz
Nu mai tace
*****

Karma: 10
Deconectat Deconectat

Mesaje: 296



Vezi Profilul
« Răspunde #13 : Octombrie 06, 2006, 21:50:56 »

multumesc celor ce au pierdut timpu cu mine Tongue
Memorat

....staind....
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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